【问题标题】:Data Frame csv with several separators具有多个分隔符的数据框 csv
【发布时间】:2020-11-26 09:21:17
【问题描述】:

我有一个包含 8 列的数据框。但是,这些行包含几种类型的分隔符。下面的示例显示了我在数据框中的行示例,其中数字放在'' 之间,以便不将, 视为分隔符

Germany,'3,459','12,993',96.6,'3,026,180','11,094,446',66.4,9.3

这是我用来读取我的 DataFrame 的代码

 data=pd.read_csv("Data.csv",sep=',',engine='python')

问题是我无法读取我的数据框,我收到一个错误提示

Expected 11 fields in line 6, saw 14

【问题讨论】:

  • 这能回答你的问题吗? pandas read_csv() for multiple delimiters
  • @HarshaBiyani,BillHuang:链接的问题在这里不相关。 OP 在这里只有一个分隔符,即逗号。他们只需要使用 quoting
  • 该操作明确声明包含几种类型的分隔符。因未提供具有代表性的样本数据而被否决。
  • @BillHuang 您的 DV 属于您,但 OP 提供了一行数据,可以让您了解问题。他们的问题是他们没有正确理解正在发生的事情,因此在问题标题中使用了糟糕的(如果不是令人困惑的)措辞。当 CSV 接受的措辞是引号字符时,他们将单引号用作分隔符。

标签: python pandas separator


【解决方案1】:

CSV 文件不完全是数据框,而是格式化的文本文件。在您的示例中,字段正确括在引号中,只是它们使用单​​引号,而双引号更常见。

您应该使用quotechar="'" 参数将其声明为read_csv

data=pd.read_csv("hw21.csv",sep=',',engine='python', quotechar="'")

【讨论】:

    猜你喜欢
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    相关资源
    最近更新 更多