Excel Python

【効率化|Python】エクセルファイル指定シートのデータ抽出

こんばんは!ゼロイチです!

いきなりなんなんだこのテーマはと思われる方も多いと思いますが、

今日仕事で単純作業があり、

今後もあるなら自動化してしまおう!

ということがあったのでそれの共有になります。

実施したこと

①指定フォルダ内にあるエクセルファイルの読み込み
読み込み先はエクセルファイル内の指定された「シート」かつ特定の「列」の時系列データ

②全ファイルの①の情報を横に繋げる

これさえあれば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')

 

-Excel, Python