pythonで、フォルダ内のエクセルデータとその全シートを取得しひとつのファイルにまとめたいのでpythonを利用しプログラムを作成しています。
しかし試行錯誤を繰り返し数週間経ちましたが、あと一歩のところで未だにできず、困っているためアドバイスをお願い致します。
現段階で行いたいこと
1.ダイアログフォルダを選択
2.フォルダ内のエクセルデータを抽出
3.エクセルデータの全シートを抽出※ここができません
4.New.xlsxに上記をすべてコピー
シート番号を指定して1枚目は取得できたものの全てのシートにしようとすると色々おかしくなってしまいます。
ファイルの名前から番号を取得しようとするとエラーになってしまい困惑しています。
プログラミング初心者というのとこのサイトも日が浅いためご迷惑をおかけしますが何かとご教示お願い致します。
python
1import openpyxl 2import pandas as pd 3import seaborn as sns 4import datetime 5import glob 6import os 7import time 8import xlwings as xw 9from tkinter import filedialog 10 11 12names = xw.Book("C:\\Users\\tarou\\Desktop\\new\\New.xlsx") 13 14 15#時間 16 17 18def openning(): 19 dir = 'C:\\pg' 20 fld = filedialog.askdirectory(initialdir=dir) 21 return fld 22 23list = glob.glob(openning() + '/*.xlsx') 24print(list) 25 26 27 28 29#list = glob.glob("C:\\Users\\910143\Desktop\\*.xlsx") #Excel抽出 30time.sleep(3) 31print("start") 32#繰り返し 33 34 35for file in list: 36 filer1 = xw.Book(os.path.abspath(file))#ファイルの絶対パス 37 time.sleep(2) 38 print("---------------------------------------------------------------") 39 print("ファイル名:",file)#ファイルの名前 40 riss.append(filer1)#リストに格納(不要) 41 time.sleep(1) 42 wb = openpyxl.load_workbook(file)#ファイル読み込み 43 for ws in wb.worksheets: 44 create_title = ws.title + "_New" 45 # Nsheet = Neww.create_sheet(index=len(Neww.sheetnames), title=create_title) 46 print("シート名:",create_title) 47 filer1.sheets[0].copy(names.sheets[0]) 48 time.sleep(1) 49 names.save() 50 # filer1.close() 51 time.sleep(1) 52 53for file in list: 54 filer1 = xw.Book(os.path.abspath(file))#ファイルの絶対パス 55 print(filer1) 56 filer1.close() 57 58input("-------------finish----------------------------------------------") 59 60 61 62
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。