如何正确解析内部引号的CSV文件?

时间:2018-05-27 14:16:54

标签: python python-3.x pandas csv

因此,作为CSV文件的一部分,我正在尝试使用pd.read_csv()转换为DataFrame,我一直收到此错误:

pandas.errors.ParserError: Error tokenizing data. C error: Expected 3 fields in line 2, saw 4

文件的第一行如下:

  1. “矢田”, “矢田”, “矢田”
  2. “yada”,“yada”,“aa bb”yada“cc dd,ee”
  3. 事情是,在原始的二进制内容中,第二行的“yada”没有转义字符...

    我应该在read_csv()方法中包含哪些参数,以便通过假设整个

    对该行进行正确的解析

    “aa bb”yada“cc dd,ee”

    是一栏?

1 个答案:

答案 0 :(得分:2)

如果引用问题仅出现在最后一列中,那么您可以按照以下方式按下数据,然后再将其作为数据帧加载:

import pandas as pd      
import csv

data = []

with open('input.csv', newline='') as f_input:
    for row in csv.reader(f_input, quotechar='\x01'):
        data.append([v.strip('"') for v in row[:2] + [','.join(row[2:])]])

df = pd.DataFrame(data)        
print(df)

对于给出的数据,这将给你:

      0     1                       2
0  yada  yada                    yada
1  yada  yada  aa bb "yada" cc dd, ee