遇到的问题
由于自己读写文件操作生成的csv格式的数据集,每行的数据长度不一致,导致用pandas读取数据时候报错:pandas.errors.ParserError: Error tokenizing data. C error: Expected 55 fields in line 5, saw 73
很是心烦,网上查了很久之后找到了大神分享的方法,记录一下!
代码如下
import pandas as pd
csv_file = "../datasets/features/dataset.csv"
largest_column_count =0
with open(csv_file, 'r') as temp_f:
lines = temp_f.readlines()
for l in lines:
column_count = len(l.split(',')) + 1
largest_column_count = column_count if largest_column_count < column_count else largest_column_count
temp_f.close()
# 这里可以直接定义你想要的列数就可以了(由于我的数据集列数千万级别,有点大,自己尝试了一下直接定义largest_column_count)
column_names = [i for i in range(0, largest_column_count)]
data = pd.read_csv("../datasets/features/dataset.csv", header=None, delimiter=',', names=column_names)
该方法原文链接
https://blog.csdn.net/Kyrie_10/article/details/117367220