代码之家  ›  专栏  ›  技术社区  ›  Irina

Pandas-读取CSV文件,字段内容分组在不同的单元格中

  •  0
  • Irina  · 技术社区  · 7 年前

    我正在尝试将CSV导入Jupyter笔记本,以便分析数据。

    由于字段由“|”字符分隔,因此我使用以下方法导入数据:

    import pandas as pd 
    pd.read_csv('/filename.csv', sep='|')
    

    标头已正确导入,但数据未正确导入。第一列中有一组字段(仍由 | 字符。)如果在Excel中打开CSV文件,我会看到所有列名都在第一个单元格中,并用 | ,但数据不同。第一个单元格中有一组字段使用相同的分隔符,然后第二个单元格中有一组字段,以此类推。

    基本上是这样的:

        Row 1: (First cell) Column A name | Column B name... 
    
        Row 2 (first cell) Field A | Field B | Field C    (second cell) Field D | Field E ....
    

    我想这可以通过使用read\u csv的不同选项来解决。

    1 回复  |  直到 7 年前
        1
  •  0
  •   MattR    7 年前

    中有许多选项 pandas.read_csv()

    正如评论所指出的,造成这种情况的根本原因通常是一个“古怪的角色”。在您的情况下,它是一个文本限定逗号。其他时候,用户可能会遇到 non-breaking space 导致输出错误,另一个特殊ASCII符号,或 simply Excel displaying the character as a number . 使用文本限定符分隔文件时,可以通过以下方式在Excel中解决问题:

    Data Tab -> Text to Columns -> Delimited -> Set Text Qualifier . 见下文: enter image description here

    要在熊猫身上解决这个问题,你可以试试 pd.read_csv('/filename.csv', quotechar='"', sep='|') . 根据您的评论,重要的是 quoutechar= 在之前出现 sep= . 或者,您可以使用 delimiter= 而不是 sep . 正如在文档中一样,分隔符只是:

    sep的可选参数名称。