cparserror:标记d时出错

2024-06-29 00:52:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我在读取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阅读器,但是没有任何东西可以处理这个文件

csv文件很好,我检查过了,没有什么问题

以下是我得到的错误:


Tags: 文件csvimportpandasdfreaddataas
3条回答

如果Excel文件:

import pandas as pd

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

我曾经遇到过同样的错误,当我使用csv来编写一些数据,然后在另一个脚本中读取它时。我找到了一个简单的解决方案,没有经过pandas的read函数,它是一个名为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版本不同的python版本,则可以在编写步骤中使用protocol=x和与要用于读取的版本(2或3)对应的x来精确地执行此操作。

我希望这能有任何用处。

在实际代码中,行是:

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

您试图读取的是一个Excel文件,而不是一个纯文本CSV,这就是为什么一切都不起作用。

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

您需要将Excel文件转换为CSV文件(注意-如果有多个工作表,则每个工作表都应转换为自己的CSV文件),然后读取这些文件。

您可以使用^{},也可以使用xlrd这样的库来读取Excel文件的二进制格式;有关详细信息,请参见Reading/parsing Excel (xls) files with Python

相关问题 更多 >