【问题标题】: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>) 你能写更多的信息吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-27
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多