実施したいこと
フォルダ内に存在する複数のcsvファイルの任意の列を抽出して結合したいと考えています。
コードの流れは以下の通りかと考えています。
ここで列1だけを0列目に配置するやりかたがわかりません。
[作成したい結合後のcsvファイルの中身]
列1 | sampleA | sampleB | sampleC |
---|---|---|---|
1 | 1000 | 1000 | 1000 |
2 | 2000 | 2000 | 2000 |
3 | 3000 | 3000 | 3000 |
現在の状況
下のようなcsvが現在出力されています。
sampleA | sampleB | sampleC |
---|---|---|
1000 | 1000 | 1000 |
2000 | 2000 | 2000 |
3000 | 3000 | 3000 |
補足情報
[フォルダの構成]
data
-sampleA.csv
-sampleB.csv
-sampleC.csv
※dataフォルダはDesktop直下にあります
[各csvファイルの中身]
列1 | 列2 |
---|---|
1 | 1000 |
2 | 2000 |
3 | 3000 |
[現在のコード]
python
1import pandas as pd 2import os 3import glob 4 5#dataフォルダ内の.csvファイル一覧を取得 6data_path = os.path.abspath(r"C:/Users/Username/Desktop/data") 7csvfile_path = glob.glob(data_path + '/*.csv') 8 9#csvファイルの中身を追加していくリストを用意 10total_list = [] 11df = [] 12 13#読み込むファイルのリストを走査 14for filename in csvfile_path: 15 csvfile = pd.read_csv(filename) 16 csvfile_drop = csvfile.drop(csvfile.columns[[0, 1]], axis='columns') 17 csvfile_drop = csvfile_drop.rename(columns={'列2':filename}) 18 total_list.append(csvfile_drop) 19 df = pd.concat(total_list, axis=1) 20 21#total.csvとして出力 22df.to_csv("total.csv")
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー