我必须读取以下格式的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中具有相同数量的分隔符,则输出正确。这是熊猫的虫子吗?我知道还有其他读取此类文件的方法,但是熊猫对此很有帮助。有办法避免这种错误吗?