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

报错内容: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/filename.csv'
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:
https://blog.csdn.net/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')
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值