使用pandas.read_csv读取单行时出现问题。字段数取决于下一行

时间:2018-09-16 13:08:20

标签: python pandas

我必须读取以下格式的csv文件:

L:;0.0001;;L:;5E-05;;L:;2.5E-05;
;;;;;;;;

这是一个简化的示例,但文件复杂得多

这是我的代码:

df = pandas.read_csv(infile, sep='\s+|;;', skiprows=0, nrows=1, engine='python', header=None)
nc=len(df.iloc[0,:])
for i in range (0,nc,1): print i, df.iloc[:,i][0]

如果第二行中的分隔符数量大于第一行中的分隔符数量,则迭代器将丢失与分隔符之差相等的多个字段。例如,上一次读取的输出是:

0 L:;5E-05
1 L:;2.5E-05;
2 nan

因此,即使第一个索引为0,迭代器也将从第二个字段开始。

如果在行n + 1中具有相同数量的分隔符,则输出正确。这是熊猫的虫子吗?我知道还有其他读取此类文件的方法,但是熊猫对此很有帮助。有办法避免这种错误吗?

0 个答案:

没有答案