Я хочу прочитать dataframe из файла csv, где заголовок не находится в первой строке. Например:Как пропустить неизвестное количество пустых строк перед заголовком на pandas.read_csv?
In [1]: import pandas as pd
In [2]: import io
In [3]: temp=u"""#Comment 1
...: #Comment 2
...:
...: #The previous line is empty
...: Header1|Header2|Header3
...: 1|2|3
...: 4|5|6
...: 7|8|9"""
In [4]: df = pd.read_csv(io.StringIO(temp), sep="|", comment="#",
...: skiprows=4).dropna()
In [5]: df
Out[5]:
Header1 Header2 Header3
0 1 2 3
1 4 5 6
2 7 8 9
[3 rows x 3 columns]
Проблема с выше кода является то, что я сейчас не сколько строк будет существовать до заголовка, поэтому я не могу использовать skiprows=4
как я здесь.
Я знаю, что могу перебирать файл, как в вопросе Read pandas dataframe from csv beginning with non-fix header.
То, что я ищу, является более простым решением, например, сделать pandas.read_csv
игнорировать любую пустую строку и перенести первую непустую строку в качестве заголовка.
Извините, но не 'pd.read_csv (io.StringIO (температура), Сентябрь = "|", комментарий = "#")' работа? – ayhan
Нет, строки комментариев переводятся в пустые строки, которые не игнорируются. – bmello
Это может быть проблема с версией? 'skip_blank_lines = True' является значением по умолчанию в 0.18.1. – ayhan