用pandas读取csv - 处理不平衡的行

时间:2016-01-27 21:17:58

标签: python csv pandas

我有超过100万行,并且有一个非常长的文本字段使我的一些行不平衡。这会导致某些行的列数多于我的标题。我用以下方法解决了这个问题:

read_csv('filename.csv', error_bad_lines=False)

这里的问题是看起来有些行比我的标题更少。这是一个问题(一些领域转移。)

我该如何解决这个问题?是否有一种方法(我责怪那个长文本字段)作为一个字段?

评论后编辑

字段分隔符是逗号。 当我运行df.dtypes所有字段但其中一个似乎是对象时,不过我最初有int和datetime字段,通过pandas读取为对象。

在评论2后编辑

这里是我在.csv中的标题 ID(INT),文本框(字符串),ID2(炭),评分(INT),类型(字符串),长度(INT),名称(字符串),日期时间(日期时间),大小(INT),电子邮件(字符串)< / p>

主要问题是textField区域。其他人不能拥有和欺骗charsrs逃避csv语法。但是textField是由用户创建的,它可以是unicode中的任何东西;表情符号,非英语字符搞笑引用等。

1 个答案:

答案 0 :(得分:1)

  

主要问题是textField区域。其他人不能拥有和犯规   逃避csv语法的characers。但是textField是由   用户,它可以是unicode中的任何东西;表情符号,非英语字符搞笑   引用等。

textField应该用双引号括起来,并且该字段中的任何引号都必须使用另一个引号进行转义。

由于该字段可以包含任何字符,因此其中一些字段可能是多行的,这也可以解释为什么某些行的列数较少而其他数据似乎有效。

因此请确保您的解析器支持,并设置为使用多行。但这只有在正确引用这些字段时才有效。