[英]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.