簡體   English   中英

使用openpyxl將工作表從excel文件移動到一個工作簿中

[英]Moving sheets from excel files into one workbook using openpyxl

因此,我一直在嘗試編寫一個腳本,該腳本從特定位置加載所有 excel 文件,並將這些文件中的工作表移動到一個工作簿中。 我以錯誤結束:

AttributeError: 'DataFrame' object has no attribute 'DataFrame'

我對此很陌生,因此我非常感謝有關如何使其工作的任何提示。 我只能堅持使用 openpyxl,因為目前我無法在我的工作站上安裝 xlrd 模塊。

from pandas import ExcelWriter
import glob
import pandas as pd
import openpyxl

writer = ExcelWriter("output.xlsx")
for filename in glob.glob (r"C:\path\*.xlsx"):
    wb = openpyxl.load_workbook(filename)
    for ws in wb.sheetnames:
        ws = wb[ws]
        print (ws)
        data = ws.values
        columns = next(data)[0:]
        df= pd.DataFrame(data, columns=columns)
        print(df)
        for df in df.DataFrame:
            df.to_excel([writer,sheet_name= ws)

writer.save()

首先,您必須使用 sheet_name 作為字符串而不是對象,並且當我們遍歷工作表名稱時,不需要最后的 for 循環。

from pandas import ExcelWriter
import glob
import pandas as pd
import openpyxl


writer = ExcelWriter("output.xlsx")
for filename in glob.glob (r"C:\path\*.xlsx"):
    wb = openpyxl.load_workbook(filename)
    for ws in wb.sheetnames:
        ws1 = wb[ws]
        data = ws1.values
        columns = next(data)[0:]
        df= pd.DataFrame(data, columns=columns)
        df.to_excel(writer,sheet_name=ws,index = False)

writer.save()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM