如何读取csv文件,其中一些值包含熊猫逗号?

时间:2016-05-03 07:54:53

标签: python csv pandas

我已经搜索了一些方法如何读取值包含逗号的csv文件,但我还没有看到如何只通过pandas成功读取它。

例如,csv文件包含“A”,“B”,“C”,“D”,“E”,“F”列,其中只有“C”列值包含逗号。

C列值的类型是字符串

我试过这个:

pd.read_csv('my.csv',quotechar="'")

但它返回

CParserError: Error tokenizing data. C error: Expected 6 fields in line 1553, saw 7

更新

C列中的某些值以逗号开头,如“,hello”,而值中的一些逗号如“hello,hello,hello”

如何设置参数quotechar来解决我的问题?

1 个答案:

答案 0 :(得分:1)

我尝试用pandas解析包含SQL查询的CSV文件时遇到了这类问题,因此在某些列中包含逗号。

要解决这个问题,我们必须为我们的列使用另一个分隔符而不是逗号,并设置' sep'来自pandas.read_csv的属性,就像那样:

df = pd.read_csv(path, sep=';')

Personnaly,因为我懒惰,如果我是你,我只是将你的逗号中的分隔符从逗号更改(或要求更改)到其他内容(如分号)作为输入。

但是,如果你不能,这是我在寻找解决方案时找到的东西:

Pandas Read CSV with string delimiters via regex

正如您在该代码中看到的那样,使用正则表达式,并允许用户解析其csv文件,而分隔符没有明确定义为pandas,通过在正则表达式中说明要提取哪个值以及如何执行它。 / p>

我不是正则表达式的专家,但它可能符合您的需求。