正确读取熊猫双引号的CSV文件

时间:2019-06-17 14:50:08

标签: python pandas csv

我有一个csv文件,其中每行都用双引号引起来,其中第一个字段没有用双引号引起来,但是所有其他字段都像这样-

"Col1,""Col2"",""Col3"",""Col4"",""Col5"",""Col6"",""Col7"""

"1,""entry "",""entry "",""entry"",""entry"",""entry"",""entry"""
"2,""entry "",""entry "",""entry"",""entry"",""entry"",""entry"""

等等,我正在尝试将其读入pandas数据框。所需的输出将类似于-

   Col1   "Col2" "Col3" "Col4"  "Col5" "Col6" "Col7"
0  1      entry  entry  entry   entry  entry  entry
1  2      entry  entry  entry   entry  entry  entry

我在终端上运行了以下命令-文件'filename.csv',输出结果如下-ISO-8859文本,行很长,带有CRLF行终止符

我尝试了多种更改read_csv参数的方法,例如

input_data = pd.read_csv('filename.csv',sep =',',encoding ='iso-8859-1',engine ='python')

该输出是一个具有2列和100+行的数据帧,其中第一列为空,第二列包含我实际想要的所有数据,而实际上我想要一个具有7列和100的数据帧++行,类似-

Current Output

很遗憾,出于保密目的,我无法发布真实数据。

有人可以帮我吗?从直观上看,该修复程序很简单,但是我不确定我缺少什么?

1 个答案:

答案 0 :(得分:0)

解决方案1.删除每行的开头和结尾“(双引号),并使用
input_data = pd.read_csv('temp.csv',sep =',')

解决方案2。使用参数引号= 3
input_data = pd.read_csv('temp.csv',encoding ='iso-8859-1',engine ='python',sep =',',引用= 3)

解决方案3.从每个值中删除多余的“”(每个列值将正是您想要的值)