CParserError: Error tokenizing data

CParserError: Error tokenizing data

我在读取 csv 文件时遇到了一些问题

import pandas as pd

df = pd.read_csv('Data_Matches_tekha.csv', skiprows=2)

我明白了

pandas.io.common.CParserError: Error tokenizing data. C error: Expected 1 fields in line 526, saw 5

当我将 sep=None 添加到 df 时,我得到另一个错误

Error: line contains NULL byte

我尝试添加 unicode='utf-8',我什至尝试了 CSV reader,但此文件无效

csv 文件完全没问题,我检查了一下,没有发现任何问题

这是我得到的错误:

在您的实际代码中,该行是:

>>> pandas.read_csv("Data_Matches_tekha.xlsx", sep=None)

您正在尝试读取 Excel 文件,而不是纯文本 CSV,这就是无法正常工作的原因。

Excel 文件 (xlsx) 是一种特殊的二进制格式,不能作为简单的文本文件(如 CSV 文件)读取。

您需要将 Excel 文件转换为 CSV 文件(注意 - 如果您有多个 sheet,每个 sheet 都应转换为自己的 csv 文件) , 然后阅读那些。

您可以使用 read_excel or you can use a library like xlrd which is designed to read the binary format of Excel files; see Reading/parsing Excel (xls) files with Python 获取更多相关信息。

使用 read_excel 代替 read_csv 如果 Excel 文件:

import pandas as pd

df = pd.read_excel("Data_Matches_tekha.xlsx")

我用to_csv写入一些数据,然后在另一个脚本中读取时遇到了同样的错误。我找到了一个没有通过 pandas' 读取函数的简单解决方案,它是一个名为 Pickle.

的包

您可以通过在您的终端中输入来下载它

pip install pickle 

然后您可以使用下面的代码(首先)写入您的数据

import pickle 

with open(path, 'wb') as output:
pickle.dump(variable_to_save, output)

最后使用

在另一个脚本中导入您的数据
import pickle 

with open(path, 'rb') as input:
data = pickle.load(input)

请注意,如果您想在读取保存的数据时使用与保存数据时不同的 python 版本,您可以在写入步骤中使用 protocol=x 与 x 对应的版本(2 或 3)旨在用于阅读。

希望对你有用