pandas?次のようなものを使用してシートExcelファイルから複数のテーブルを読み取ることは可能ですか?行0から行100までテーブル1を読み取ります。行102から行202までテーブル2を読み取ります...
次のExcelファイルがあると仮定します。
解決策:最初のシートを解析しています(インデックス:0
)
xl = pd.ExcelFile(fn)
nrows = xl.book.sheet_by_index(0).nrows
df1 = xl.parse(0, skipfooter= nrows-(10+1)).dropna(axis=1, how='all')
df2 = xl.parse(0, skiprows=12).dropna(axis=1, how='all')
編集:skip_footer
はskipfooter
に置き換えられました
結果:
In [123]: df1
Out[123]:
a b c
0 78 68 33
1 62 26 30
2 99 35 13
3 73 97 4
4 85 7 53
5 80 20 95
6 40 52 96
7 36 23 76
8 96 73 37
9 39 35 24
In [124]: df2
Out[124]:
c1 c2 c3 c4
0 78 88 59 a
1 82 4 64 a
2 35 9 78 b
3 0 11 23 b
4 61 53 29 b
5 51 36 72 c
6 59 36 45 c
7 7 64 8 c
8 1 83 46 d
9 30 47 84 d
最初にcsv
ファイル全体を読み込みます。
import pandas as pd
df = pd.read_csv('path_to\\your_data.csv')
次に、たとえば次を使用して、個々のフレームを取得します。
df1 = df.iloc[:100,:]
df2 = df.iloc[100:200,:]