ヘッダが第1行にない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(TEMP)、9月= "|" コメント= "#")'動作しますか? – ayhan
いいえ、コメント行は無視されない空行に変換されます。 – bmello
バージョンに問題はありますか? 'skip_blank_lines = True'は0.18.1のデフォルトです。 – ayhan