[英]Remove unwanted commas from CSV using Python
我需要一些帮助,我有一个包含地址字段的CSV文件,无论谁将数据输入到原始数据库中,都使用逗号分隔地址的不同部分 - 例如:
公园街5号公寓
当我尝试使用CSV文件时,它将这一个条目视为两个单独的字段,而实际上它是一个字段。 我使用Python来删除逗号之间的逗号,因为很容易将它们与实际存在的逗号区分开来,但这个问题让我感到难过。
我们将非常感激地提供任何帮助。
谢谢。
您可以使用Python的CSV阅读器定义分隔和引用字符。 例如:
使用此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文件应具有某种形式的文本转义,通常使用双引号:
1,John Doe,"City, State, Country",12345
某些CSV导出会对所有字段执行此操作(从Excel / LibreOffice导出时这是一个选项),但必须转义不明确的字段(例如包括逗号的字段)。
手动修复此功能或正确重新生成CSV。 当然,这不能以编程方式修复。
编辑:我刚注意到一些关于“倒置逗号”被用于逃避的事情 - 如果是这种情况,请参阅Jason Sperske的答案,这是现场的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.