こんばんは!ゼロイチです!
いきなりなんなんだこのテーマはと思われる方も多いと思いますが、
今日仕事で単純作業があり、
今後もあるなら自動化してしまおう!
ということがあったのでそれの共有になります。
実施したこと
①指定フォルダ内にあるエクセルファイルの読み込み
読み込み先はエクセルファイル内の指定された「シート」かつ特定の「列」の時系列データ
②全ファイルの①の情報を横に繋げる
これさえあれば100ファイルも数十秒で終わります!
# 必要なライブラリのインポート import pandas as pd import glob #フォルダ内の名前を読み取り import os # エクセルファイルが格納されているフォルダを指定 os.chdir('指定のフォルダ') os.getcwd() # フォルダ内のファイルを読み込む list = glob.glob('*.xlsx') #エクセル # 念の為指定のファイルか確認 for file in list: print(file) # 指定の「シート」、読み込む必要のある「列」を指定し、dataリストにデータを追加していく data = [] for file in list: df = pd.read_excel(file, sheet_name='シート名', index_col=0, usecols=[指定の列(複数の場合はコンマ区切り)], parse_dates=True) #最後のは時系列データのためTrue data.append(df) # 最後にdataリストのデータを横に結合し、csvで保存する。 data2 = pd.concat(data, axis=1) data2.to_csv('all.csv')