【问题描述】
将pandas得到的数据保存到一个新工作表中,这个新工作表位于一个新的工作簿文件中。[大谦Excel,dqexcel点com]
【示例2-5】
本例使用的Excel文件的完整路径为“D:/Samples/ch02/04 数据输出到新的工作表/产品出厂价.xlsx”。该文件打开后如图2-4所示,是各种产品的品名、规格、单位和出厂价数据。本例导入文件的前6行数据,然后用pandas新建一个名为“产品出厂价2.xlsx”的Excel文件。该文件位于相同的路径下。将导入的数据添加到该文件的工作表Sheet1中。
图2-4 产品的出厂价
- ChatGPT提示词模板
新建ChatGPT会话,在提问文本框中输入下面的提示词:
prompt
你是pandas专家,文件路径为:D:/Samples/ch02/04 数据输出到新的工作表/产品出厂价.xlsx。该Excel文件的第一个工作表中A-D列为给定数据。用pandas导入Excel文件的数据,导入前6行数据,引擎为"openpyxl"。获取Excel文件所在目录的完整路径。用ExcelWriter函数新建一个Excel文件“产品出厂价2.xlsx”,该文件位于前面的完整路径下,将导入的数据添加到该文件的工作表Sheet1中。添加代码注释。
2. ChatGPT提示词模板说明
明确指定用pandas的ExcelWriter函数新建一个Excel文件。注意要指定新建文件的保存路径,否则它可能会被保存到Python的当前工作目录下。
3. 代码
- 根据提示词得到类似下面的代码:
code.python
import os
import pandas as pd
# 设置文件路径
file_path = "D:/Samples/ch02/04 数据输出到新的工作表/产品出厂价.xlsx"
# 导入Excel文件前6行数据,引擎为"openpyxl"
data = pd.read_excel(file_path, engine="openpyxl", nrows=6)
# 获取Excel文件所在目录的完整路径
dir_path = os.path.dirname(os.path.abspath(file_path))
# 新建ExcelWriter对象
writer = pd.ExcelWriter(os.path.join(dir_path, "产品出厂价2.xlsx"))
# 将导入的数据添加到该文件的工作表Sheet1中
data.to_excel(writer, sheet_name="Sheet1", index=False)
# 保存Excel文件
writer.save()
4. 使用代码
打开Python IDLE,新建一个脚本文件,将上面生成的代码复制进去,保存到D:/Samples/1.py。运行脚本,新建一个名为“产品出厂价2.xlsx”的Excel文件。该文件位于相同的路径下。导入的6行数据添加到该文件的工作表Sheet1中。
【知识点扩展】
本例使用pandas的ExcelWriter函数新建Excel文件,用该函数的path参数指定文件保存路径和名称。