проблема чтения одной строки с pandas.read_csv.Количество полей зависит от следующей строки - PullRequest
0 голосов
/ 16 сентября 2018

Я должен прочитать 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 сильно облегчает это. Есть ли способ избежать этой ошибки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...