如何将pandas.io.excel._base.ExcelFile对象导出为xlsx文件?
解决ExcelFile对象导出为.xlsx文件的问题
pandas.io.excel._base.ExcelFile是pandas用于读取Excel文件的容器类,本身并没有.to_excel()方法,直接调用自然会失效。你需要先提取其中的工作表数据,再进行导出操作,以下是几种可行方案:
方案1:导出所有工作表到同一个Excel文件
如果需要保留原文件的多工作表结构,可通过遍历工作表名称,逐个读取并写入新文件:
import pandas as pd # 假设已获得xl = pd.ExcelFile(io.BytesIO(response.content)) with pd.ExcelWriter('output_all_sheets.xlsx') as writer: # 遍历所有工作表名称 for sheet_name in xl.sheet_names: # 读取当前工作表为DataFrame df = xl.parse(sheet_name) # 将DataFrame写入对应工作表 df.to_excel(writer, sheet_name=sheet_name, index=False)
方案2:导出单个指定工作表
若只需要导出某一个工作表,直接指定名称读取后导出即可:
# 读取目标工作表 target_df = xl.parse('你的工作表名称') # 导出为单独的Excel文件 target_df.to_excel('output_single_sheet.xlsx', index=False)
方案3:直接保存原始Excel文件(无需解析)
如果不需要对Excel内容做任何修改,只是想把response中的原始Excel文件保存下来,完全不用经过pandas解析,直接写入二进制文件更高效:
with open('direct_output.xlsx', 'wb') as f: f.write(response.content)
内容的提问来源于stack exchange,提问作者XYZ
相关产品推荐
相关产品推荐

