【error solved】Error tokenizing data. C error: Expected 1 fields in line XX, saw XX

时间:2025-02-20 07:22:33

报错内容:Error tokenizing data. C error: Expected 1 fields in line XX, saw XX
报错原因:CSV的分隔符设置异常 / 存储的时候格式有问题
解决方法:

方法一

通过csv库进行读取,再遍历,再进行合并保存 (文件不大的情况下可用),太大转置的时候RAM会hang

import pandas as pd
import csv 
path = 'file_absolute_path/'
test = pd.DataFrame()
data = csv.reader(open(path, 'r'))
for d in data:
    # print(d)
    result = pd.DataFrame(d).T
    test = pd.concat([test,result])
test = test.reset_index(drop = True)

Ref:
/qq_33267306/article/details/120284044

方法二

跳过错误的行

df = pd.read_csv(filename, error_bad_lines = False)

The error_bad_lines argument has been deprecated and will be removed in a future version.

documentation

Deprecated since version 1.3.0: The on_bad_lines parameter should be used instead to specify behavior upon encountering a bad line instead.

So, replace with:

df = pd.read_csv(filepath, error_bad_lines = 'skip')
方法三
df = pd.read_csv(filepath, delimiter = '\t')
# or
df = pd.read_csv(filepath, sep = '\t')