前提・実現したいこと
pythonで以下を実現しようとしています。
######1.複数のExcel(10個程度、同一書式)ファイルを1ファイルにマージしたい。
<ファイルの中身イメージ>
名前 住所 電話番号
AAA XXX 000000
BBB YYY 111111
CCC ZZZ 222222
※上記のようなファイルが10個程度あるイメージ
######2.タイトル行はマージする前と同じタイトルとしたい。
発生している問題・エラーメッセージ
######1.pandas.read_excelで読み込み(header=0やNoneで試しました)
######2.pandas.concatでデータフレームに追記
######3.最後にto_excelで書き出し(header=Falseやheaderなしで試しました)
######4.出力されるファイルのタイトル行は、
###### (1)何も出力されない
###### (2)複数行タイトル行が出力される(マージファイル数分)
該当のソースコード
import pandas, ntpath
from glob import glob
resultdf = pandas.DataFrame()
resultbook = r"matome.xlsx"
mybooks = glob(r"*.xlsx",recursive=True)
for mybook in mybooks:
dfA = pandas.read_excel(mybook,sheet_name=0,usecols="A:E",header=None)
dfB = dfA.iloc[:,[0,1,2,3,4]]
dfB.columns = [0,1,2,3,4]
dfB[5] = mybook
dfC = dfB.iloc[0:,[5,0,1,2,3,4]]
resultdf = pandas.concat([resultdf,dfC])
resultdf.to_excel(resultbook,sheet_name="まとめ",index=False,header=False)
試したこと
headerの設定値を変更したりしました。
補足情報(FW/ツールのバージョンなど)
python3.7.4です。
回答1件
あなたの回答
tips
プレビュー