pythonで、フォルダ内のエクセルデータとその全シートを取得しひとつのファイルにまとめたいのでpythonを利用しプログラムを作成しています。
しかし試行錯誤を繰り返し数週間経ちましたが、あと一歩のところで未だにできず、困っているためアドバイスをお願い致します。
現段階で行いたいこと
1.ダイアログフォルダを選択
2.フォルダ内のエクセルデータを抽出
3.エクセルデータの全シートを抽出※ここができません
4.New.xlsxに上記をすべてコピー
シート番号を指定して1枚目は取得できたものの全てのシートにしようとすると色々おかしくなってしまいます。
ファイルの名前から番号を取得しようとするとエラーになってしまい困惑しています。
プログラミング初心者というのとこのサイトも日が浅いためご迷惑をおかけしますが何かとご教示お願い致します。
python
import openpyxl import pandas as pd import seaborn as sns import datetime import glob import os import time import xlwings as xw from tkinter import filedialog names = xw.Book("C:\\Users\\tarou\\Desktop\\new\\New.xlsx") #時間 def openning(): dir = 'C:\\pg' fld = filedialog.askdirectory(initialdir=dir) return fld list = glob.glob(openning() + '/*.xlsx') print(list) #list = glob.glob("C:\\Users\\910143\Desktop\\*.xlsx") #Excel抽出 time.sleep(3) print("start") #繰り返し for file in list: filer1 = xw.Book(os.path.abspath(file))#ファイルの絶対パス time.sleep(2) print("---------------------------------------------------------------") print("ファイル名:",file)#ファイルの名前 riss.append(filer1)#リストに格納(不要) time.sleep(1) wb = openpyxl.load_workbook(file)#ファイル読み込み for ws in wb.worksheets: create_title = ws.title + "_New" # Nsheet = Neww.create_sheet(index=len(Neww.sheetnames), title=create_title) print("シート名:",create_title) filer1.sheets[0].copy(names.sheets[0]) time.sleep(1) names.save() # filer1.close() time.sleep(1) for file in list: filer1 = xw.Book(os.path.abspath(file))#ファイルの絶対パス print(filer1) filer1.close() input("-------------finish----------------------------------------------")
まだ回答がついていません
会員登録して回答してみよう