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

Python熊猫读取csv报价问题,无法分离数据

  •  0
  • Lilly_Co  · 技术社区  · 2 年前

    我和几只熊猫一起工作。我更改了原始csv文件上的一些数据名称并保存了该文件。然后,我重新启动并重新加载了我的jupyter笔记本,但现在我为数据源充电的所有数据帧都得到了类似的结果:

       Department  Zone    Element     Product     Year    Unit    Value
    0   U1,"Z3","ODD 2.a.1...   NaN     NaN     NaN     NaN     NaN     NaN
    1   U1,"Z3","ODD 2.a.1...   NaN     NaN     NaN     NaN     NaN     NaN
    2   U1,"Z5","ODD 2.a.1...   NaN     NaN     NaN     NaN     NaN     NaN
    3   U1,"Z6","ODD 2.a.1...   NaN     NaN     NaN     NaN     NaN     NaN
    4   U1,"Z9","ODD 2.a.1...   NaN     NaN     NaN     NaN     NaN     NaN
    

    我试着用 sep=',', encoding='UTF-8-SIG',quotechar='"', quoting=0, engine='python' 但同样的问题。我不知道如何解析csv,因为即使在我创建了一个新的csv表单时,数据(没有引号和分隔符;)同样的问题出现了。。。

    csv为321行,如下示例所示: https://www.cjoint.com/c/LDCmfvq06R6 以及熊猫中没有问题的原始csv文件: https://www.cjoint.com/c/LDCmlweuR66

    1 回复  |  直到 2 年前
        1
  •  1
  •   nuri    2 年前

    我觉得这个文件的引号有问题

    import csv
    
    df = pd.read_csv('LDCmfvq06R6_FAOSTAT.csv', quotechar='"',
                                                delimiter = ',', 
                                                quoting=csv.QUOTE_NONE,
                                                on_bad_lines='skip')
    for i, col in enumerate(df.columns):
        df.iloc[:, i] = df.iloc[:, i].str.replace('"', '')
    
    df.head()
    

    enter image description here