2024-10-06 15:20:50 发布
网友
我需要一些帮助,我有一个包含地址字段的CSV文件,谁将数据输入原始数据库,谁就用逗号分隔地址的不同部分-例如:
公园街5号公寓
当我尝试使用CSV文件时,它将这个条目视为两个单独的字段,而实际上它是一个字段。我已经使用Python将逗号从倒序逗号之间的位置去掉,因为很容易将它们与实际应该存在的逗号区分开来,但是这个问题让我困惑。
如有任何帮助,我们将不胜感激。
谢谢。
CSV文件未正确生成。CSV文件应该有某种形式的文本转义,通常使用双引号:
1,John Doe,"City, State, Country",12345
一些CSV导出会对所有字段执行此操作(从Excel/LibreOffice导出时这是一个选项),但必须对不明确的字段(如包含逗号的字段)进行转义。
手动修复或正确重新生成CSV。当然,这不能通过编程来解决。
编辑:我刚刚注意到一些关于“倒逗号”用于转义的东西-如果是这样的话,请参阅Jason Sperske的答案,这是spot on。
可以用Python's CSV reader定义分隔字符和引号。例如:
使用此CSV:
1,`Flat 5, Park Street`
这条Python:
import csv with open('14144315.csv', 'rb') as csvfile: rowreader = csv.reader(csvfile, delimiter=',', quotechar='`') for row in rowreader: print row
您将看到以下输出:
['1', 'Flat 5, Park Street']
这将使用逗号来分隔值,但对于带引号的逗号,则使用倒逗号
CSV文件未正确生成。CSV文件应该有某种形式的文本转义,通常使用双引号:
一些CSV导出会对所有字段执行此操作(从Excel/LibreOffice导出时这是一个选项),但必须对不明确的字段(如包含逗号的字段)进行转义。
手动修复或正确重新生成CSV。当然,这不能通过编程来解决。
编辑:我刚刚注意到一些关于“倒逗号”用于转义的东西-如果是这样的话,请参阅Jason Sperske的答案,这是spot on。
可以用Python's CSV reader定义分隔字符和引号。例如:
使用此CSV:
这条Python:
您将看到以下输出:
这将使用逗号来分隔值,但对于带引号的逗号,则使用倒逗号
相关问题 更多 >
编程相关推荐