我可以在pandas read_table()中设置额外的列以避免CParserError吗?

时间:2016-07-20 20:20:38

标签: python python-3.x parsing pandas dataframe

我有以下文件,我尝试使用Python 3.4.5导入到pandas数据框中:

filename = "fname.dat"
import pandas as pd
df = pd.read_table(filename)

但是,由于数据的格式化(即某些行有22列,其他行有23列),我收到以下错误:

pandas.parser.CParserError: Error tokenizing data. C error: Expected 22 fields in line 13,  saw 23

这个问题存在于许多行中,因此先验地跳过行对我来说并不合适。可以使用参数error_bad_lines=False,即

df = pd.read_table(filename, error_bad_lines=False)

但这不是一个好的解决方案,因为这会导致跳过“问题行”。

对于fname.dat,这意味着跳过数千行。

我不能在pandas.read_table()分配内存,如果一行中有23列而不是22列,则使用空列?这对其他行有何影响?

我应该以某种方式指导大熊猫说“如果不存在,请跳过”?

0 个答案:

没有答案