在Python中阅读CSV文件时出错-“PandasParserError”

7gyucuyw  于 5个月前  发布在  Python
关注(0)|答案(2)|浏览(97)

**简介:**我在Python中使用Pandas库从CSV文件中读取数据时遇到问题。
**说明:我使用的是Python 3.8和Pandas 1.3.1,尝试使用pd.read_csv**函数读取CSV文件时出现问题,代码片段如下:

import pandas as pd

# Attempt to read the CSV file

file_path = 'path/to/my/file.csv'

data = pd.read_csv(file_path)

字符串

**错误信息:**我收到以下错误信息:

PandasParserError: Error tokenizing data. C error: Expected 3 fields in line 4, saw 4


预期行为与实际行为:我期望代码能够成功读取CSV文件,但它抛出了“PandasParserError”和上述消息。
研究工作:我已经检查了Pandas文档,并尝试使用pd.read_csv中的参数指定不同的分隔符。然而,问题仍然存在。
环境:我在Windows 10上使用VSCode作为IDE。

pbwdgjma

pbwdgjma1#

试试这个:

data = pd.read_csv(file_path, on_bad_lines='skip')

字符串
这将跳过CSV中的坏行

zkure5ic

zkure5ic2#

有几种方法可以解决这个问题,但最简单的方法可能只是检查和修复CSV,错误表明CSV的第4行有一个额外的字段。
如果你不想/不能检查CSV,pandas有一些选项可以解决这个错误:
1.跳过坏行,正如@gtomer所指出的,这将成功地读取您的文件,但您将丢失出错的行。根据您的数据集,丢失行可能是不可接受的选项。
data = pd.read_csv(file_path, on_bad_lines='skip')
1.如果你使用了这个选项,那么你将保留所有的行,但只保留所选列中的数据。你可以按名称或索引来选择列。
df = pd.read_csv(file_path, usecols=['Col1','Col2','Col3'])
df = pd.read_csv(file_path, usecols=[0,1,2])

相关问题