**简介:**我在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。
2条答案
按热度按时间pbwdgjma1#
试试这个:
字符串
这将跳过CSV中的坏行
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])