備忘録として、Pandasの複数データフレームをリードして、連結して1つの大きなデータフレームを作成する方法を説明します。
ターゲットディレクトリ target_dir 配下に複数のCSVファイルがあり、それを
データフレームとしてリードして連結することを想定します。
import pandas as pd
import glob
target_dir = /hoge/fuga/
csv_list = glob.glob(target_dir + '/*.csv') # CSV fileのリストを取得します。
csv_list.sort() #一旦ソートします
#連結用カラム名だけのデータフレームを作成します。
df = pd.read_csv(csv_list[0], encoding='utf8',index_col='No') #1つだけリード
df.drop(df.index[0:], inplace = True) #1行目から最終行目まで削除し、上書き保存
for i in csv_list : #CSVファイルリスト分のファイルリードを繰り返します
target = pd.read_csv(i,encoding='utf8',index_col='No')
df = pd.concat([df,target]) #dfとtargetの縦方向連結
appendでもやってみましたが、Warningが出て、concatを使うように推奨されます。
因みにWindowsから持ってきたcsvファイルだったのでターミナル上で
>nkf -w --overwrite ./*
でcp932文字コードからUTF8文字コードに変換しておきました