前提・実現したいこと
データ加工の自動化をPythonで行いたいと考え学び始めました。
複数の日付名のエクセルファイル(1201.xlsxなど)からファイル名の日付を読み込み、
1201.xlsx
a | b | c |
---|---|---|
1 | 11 | 21 |
2 | 12 | 22 |
3 | 13 | 23 |
エクセルの列に加えて、
|a|b|c|DATE|
|:--|:--:|--:|
|1|11|21|1201|
|2|12|22|1201|
|3|13|23|1201|
それらのファイルを連結したいと考えてます。
|a|b|c|DATE|
|:--|:--:|--:|
|1|11|21|1201|
|2|12|22|1201|
|3|13|23|1201|
|1|21|31|1203|
|2|22|32|1203|
|3|23|33|1203|
…
発生している問題・エラーメッセージ
ファイルの連結は何とかできたのですが、ファイル名を読み込んでエクセルの列に加えるfor文?が上手くいきません。 今のところ1つ1つファイルにファイル名(日付)を加えていくことしかできず、ファイル名を読み込むことが活かせていません。 何卒、超初心者に御教授下さいますようお願いいたします。
該当のソースコード
Python
1 2#ファイル名だけ読み込む 3import os.path 4 5filename = "1201.xlsx" 6name,ext = os.path.splitext(filename) 7 8 9#ファイル(1201.xlsx)に1201を加える 10import pandas as pd 11 12book=openpyxl.load_workbook("1201.xlsx") 13sheet=book.active 14 15for i in range(1,book["Sheet1"].max_row): 16 some="D"+str(i+1) 17 sheet[some]="1201" 18 i+=1 19book.save("1201.xlsx") 20 21 22#エクセルファイルを連結する 23import pandas as pd 24import glob 25 26excel_files = glob.glob("*.xlsx") 27list = [] 28 29for f in excel_files: 30 list.append(pd.read_excel(f)) 31df = pd.concat(list,sort = True) 32df.to_excel("ALL.xlsx")
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/25 12:05
2018/12/26 11:28