CSV文件错误地加载到熊猫csv

时间:2019-07-23 14:36:14

标签: python pandas csv

我有要使用pd.read_csv加载的csv。但是,文件的某些行被读为一列,而其他一些行则被正确地读入单独的列。 我认为问题出在包含引号的行中,但我不想删除它们。

我尝试使用quotechar,但没有帮助

import pandas as pd
df = pd.read_csv('file1.csv', sep=',', quotechar='"')

我为您提供了两行的csv内容,第一行应该阅读不正确,而第二行是正确的:

0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
a,br,c,,,,d,e,0,False,False,False,"bs,C",19/07/2018 23:25:12,27/05/2018 23:09:21
a,b,c,,,,d,e,2,False,False,False,U D,19/07/2011 11:21:02,18/07/2011 12:21:00

由于上面的示例适用于其他示例,因此我提供了尝试加载csv文件时得到的屏幕截图: enter image description here

1 个答案:

答案 0 :(得分:0)

这不是一个答案,只是为了澄清。如果执行以下代码,您会得到什么:

import io
raw="""
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
a,br,c,,,,d,e,0,False,False,False,"bs,C",19/07/2018 23:25:12,27/05/2018 23:09:21
a,b,c,,,,d,e,2,False,False,False,U D,19/07/2011 11:21:02,18/07/2011 12:21:00
"""
df= pd.read_csv(io.StringIO(raw), sep=',')
df

如果看起来还可以,但是同一行在csv中造成问题,则可能是编码问题(已通过复制文本将其删除),如果是这样,则可以通过添加适当的{ encoding=的{​​1}}选项。 另一方面,如果您可以使用上面的代码在计算机上重现该问题,则说明发生了奇怪的事情,或者您的熊猫版本包含错误。这是因为上面的代码对我有用,并且从您对问题的评论中看来,它也对其他人也有用。

输出对我来说是这样的:

read_csv

所以列“ 12”包含第一条记录的“ bs,C”,对吗?