
从网络请求或其他来源获取 Excel 文件数据后,我们可能需要将其保存为实际的 .xlsx 文件。本文将介绍两种主要方法来实现这一目标。
直接保存原始数据
pandas.ExcelFile 的主要作用是读取和解析 Excel 文件,将其转换为 pandas 可以处理的数据结构,例如 DataFrame。如果你的目标仅仅是保存原始的 Excel 文件,那么直接将 response.content 保存到文件中是最简单直接的方法。
import io
import requests
# 假设 response 是包含 Excel 文件的响应对象
response = requests.get("your_excel_file_url")
with open('outfile.xlsx', 'wb') as f:
f.write(response.content)代码解释:
- import io 和 import requests: 导入必要的库。io 用于处理内存中的数据流,requests 用于发起网络请求(如果数据来自网络)。
- response = requests.get("your_excel_file_url"): 使用 requests 库获取 Excel 文件。将 "your_excel_file_url" 替换为实际的 Excel 文件 URL。
- with open('outfile.xlsx', 'wb') as f:: 以二进制写入模式 (wb) 打开一个名为 "outfile.xlsx" 的文件。with 语句确保文件在使用后会被正确关闭。
- f.write(response.content): 将 response.content (包含 Excel 文件的二进制数据) 写入到文件中。
注意事项:
- 确保以二进制写入模式 (wb) 打开文件,否则可能会导致文件损坏。
- response.content 包含了完整的 Excel 文件数据,因此这种方法会完整地保存原始文件。
保存 Excel 文件中的各个工作表
如果需要将 Excel 文件中的每个工作表保存为单独的 Excel 文件,可以使用 pandas 的 ExcelFile 对象和 to_excel 方法。
一个功能强大、性能卓越的企业建站系统。使用静态网页技术大大减轻了服务器负担、加快网页的显示速度、提高搜索引擎推广效果。本系统的特点自定义模块多样化、速度快、占用服务器资源小、扩展性强,能方便快捷地建立您的企业展示平台。简便高效的管理操作从用户使用的角度考虑,对功能的操作方便性进行了设计改造。使用户管理的工作量减小。网站互动数据可导出Word文档,邮件同步发送功能可将互动信息推送到指定邮箱,加快企业
import io
import pandas as pd
import requests
# 假设 response 是包含 Excel 文件的响应对象
response = requests.get("your_excel_file_url")
xl = pd.ExcelFile(io.BytesIO(response.content))
for name in xl.sheet_names:
df = xl.parse(name)
df.to_excel(f'{name}.xlsx', index=False)代码解释:
- xl = pd.ExcelFile(io.BytesIO(response.content)): 创建一个 ExcelFile 对象,用于解析 Excel 文件。io.BytesIO(response.content) 将 response.content 转换为一个内存中的字节流,ExcelFile 可以从该字节流中读取 Excel 数据。
- for name in xl.sheet_names:: 遍历 Excel 文件中的所有工作表。xl.sheet_names 返回一个包含所有工作表名称的列表。
- df = xl.parse(name): 使用 xl.parse(name) 读取名为 name 的工作表,将其转换为 pandas DataFrame。
- df.to_excel(f'{name}.xlsx', index=False): 将 DataFrame 保存为 Excel 文件。f'{name}.xlsx' 创建一个以工作表名称命名的 Excel 文件。index=False 阻止 DataFrame 的索引被写入到 Excel 文件中。
注意事项:
- 确保安装了 openpyxl 或 xlsxwriter 等 Excel 写入引擎,才能使用 to_excel 方法。 可以使用 pip install openpyxl 或 pip install xlsxwriter 安装。
- index=False 参数可以防止 DataFrame 的索引被写入到 Excel 文件中。根据需要调整此参数。
- 每个工作表都会被保存为一个单独的 Excel 文件。
总结
本文介绍了两种将 pandas.io.excel._base.ExcelFile 对象导出为 Excel 文件的方法。 直接保存原始数据适用于需要完整保存原始 Excel 文件的情况,而保存 Excel 文件中的各个工作表适用于需要将 Excel 文件拆分为多个单独文件的情况。 根据实际需求选择合适的方法,可以高效地处理 Excel 文件数据。










