【发布时间】:2021-03-19 04:52:58
【问题描述】:
我正在处理一个包含几列的凌乱 csv。有些行在第一列中包含所有列值,如下所示:
City Edition Sport Discipline Athlete NOC Gender Event Event_gender Medal
330 Paris,1900,Cricket,Cricket,"ROQUES, F.",FRA,Men,cricket,M,Silver NaN NaN NaN NaN NaN NaN NaN NaN NaN
331 Paris,1900,Cricket,Cricket,"SCHNEIDAU, A.J.",FRA,Men,cricket,M,Silver NaN NaN NaN NaN NaN NaN NaN NaN NaN
332 Paris,1900,Cricket,Cricket,"TERRY, Henry John",FRA,Men,cricket,M,Silver NaN NaN NaN NaN NaN NaN NaN NaN NaN
333 Paris,1900,Cricket,Cricket,"TOMALIN, P.H.",FRA,Men,cricket,M,Silver NaN NaN NaN NaN NaN NaN NaN NaN NaN
334 Paris 1900.0 Croquet Croquet AUMOITTE FRA Men double M Gold
前四行包含City 列下的所有值,而最后一行包含各个列中的正确值。有几十万行,几乎所有行都有列问题。我必须保持所有行的正确值。
编辑
我的 csv_read 很好,文件本身就是问题所在。引起问题的行在引号内,运动员姓名在引号内,用撇号分隔姓氏和名字。所以我想最好的办法是创建一个函数来打开将去除多余字符的文件。虽然这可能很难在不使用大量内存的情况下实现,因为有 300k 行......
【问题讨论】:
-
您的分隔符或文件搞砸了。您需要显示文件内容和
pd.read_csv语句 -
@piRSquared 我已经编辑了我的帖子。 csv 内容是问题,所以我需要编辑它们以使数据框正确
-
@Wiseface 您可以使用我建议的解决方案创建数据框..