CSVの2列目以降を行方向に抜き出し、他のファイルの同じ行(2列目以降)で結合させたいのですがどのようにすればいいでしょうか?CSVで1000ファイル、1ファイル5003行あります。質問文の行と列の言葉の使い方を間違えていたらすみません。combined.csvに出力例を書いています。
csvファイルの中身
1.csv
A,s,3,4,5
B,s,2,4,4
C,s,5,5,2
以下5000行続く
2.csv
a,t,5,5,2
b,t,8,4,4
c,t,5,5,2
以下5000行続く
1000.csv
a,Z,5,5,2
b,Z,8,4,4
c,Z,5,5,2
以下5000行続く
combined.csv
s,3,4,5,t,5,5,2・・・省略・・・Z,5,5,2
s,2,4,4,t,8,4,4・・・省略・・・Z,8,4,4
s,5,5,2,t,5,5,2・・・省略・・・Z,5,5,2
以下5000行続く
やったこと
1行ごとに読みとってファイルを閉じると膨大な数ファイルの開け閉めをする必要があり効率的ではない気がしています。
PCのメモリは結構積んであるので、一度すべて配列に読み込もうと、以下をしたのですが初っ端らからつまづきました。
Python3
1import pandas as pd 2 3mr = [] 4for num in range(1,1001): 5 print (num) 6 mr[num] = pd.read_csv( str(num) + ".csv" , header = None) 7
以下エラーが表示されました。
line 6, in <module>
mr[num] = pd.read_csv( str(num) + ".csv" , header = None)
IndexError: list assignment index out of range
回答2件
あなたの回答
tips
プレビュー