【问题标题】:ParserError: Error tokenizing data for csvParserError:为 csv 标记数据时出错
【发布时间】:2020-07-13 16:08:37
【问题描述】:
在 Mac 上删除 Numbers 中的几行后尝试上传 csv 文件时出现以下错误:
ParserError:标记数据时出错。 C 错误:预期有 1 个字段在行
5、锯2
读取我正在使用的文件
df=pd.read_csv('path/file_name.csv')
您知道我收到该错误消息的原因吗?行似乎没问题。
谢谢
【问题讨论】:
标签:
python
pandas
macos
csv
【解决方案1】:
没有数据子集很难说,但是您可以尝试一下
- 如果您的文件没有用逗号分隔
,(这是默认值),请设置sep参数
- 通过设置
engine="python" 参数将引擎切换到Python。
df = pd.read_csv('path/file_name.csv', sep=';', engine='python')
但这可能是文件本身的问题,文件中的一行或多行的字段比其他行多。在这种情况下,您可以通过将error_bad_linesbool 设置为False 来摆脱它们而不是返回错误。
df = pd.read_csv('path/file_name.csv', error_bad_linesbool=False)
字段过多的行(例如,逗号过多的 csv 行)默认情况下会引发异常,并且不会返回任何 DataFrame。如果为 False,则这些“坏行”将从返回的 DataFrame 中删除。
-- pandas.read_csv
【解决方案2】:
尝试:
df = pd.read_csv("path/file_name.csv", sep="<separator>", names="<columns>", error_bad_lines=<True/False>)
你能写更多的信息吗?