生成的数据集,csv文件列数不同,无法正常读取的解决方法

遇到的问题

由于自己读写文件操作生成的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

猜你喜欢

转载自blog.csdn.net/u011253318/article/details/122377473
今日推荐