2

特定の「セクションの終わり」フラグの後にデータをロードしないようにパンダの read_csv に指示するスマートで簡単な方法はありますか? または、空の行に到達すると停止しますか?

data = pd.read_csv(path, **params)
eos_line = (data['id'] == eos_string).idxmax()
data = data.drop(range(eos_line-2, data.shape[0]))

私は彼らがより良い方法であるべきだと感じています。残念ながら、read_csv を呼び出す前にスキップしたいフッターの行数または長さがわかりません。データはおおよそ次のようになります

1,2,3
4,5,6


dont want any data after this line
7,8,9
10,11,12

(注: -2 は b/c であり、実際にはセクション文字列の終わりの前に 2 つの空の行がありますが、read_csv がこの時点までしか読み取らない場合、dropna() はこれらの 2 つの行をかなり簡単に削除すると思います)

4

1 に答える 1

1

ウェスはすべてを考えました!

In [40]: data = """A,B,C
   ....: 1,2,3
   ....: 4,5,6
   ....: 7,8,9
   ....: want to skip this
   ....: also also skip this
   ....: """

In [41]: read_csv(StringIO(data), skip_footer=2)
Out[41]: 
   A  B  C
0  1  2  3
1  4  5  6
2  7  8  9
于 2013-05-18T23:30:04.020 に答える