Я должен прочитать 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. Это ошибка панды? Я знаю, что есть другие способы чтения файлов такого типа, но Panda сильно облегчает это. Есть ли способ избежать этой ошибки?