繁体   English   中英

使用Python从CSV中删除不需要的逗号

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM