python 数据分别写入到同一个Excel文件的不同Sheet中

您所在的位置:网站首页 不同的职业有不同的什么 python 数据分别写入到同一个Excel文件的不同Sheet中

python 数据分别写入到同一个Excel文件的不同Sheet中

2024-07-16 16:01| 来源: 网络整理| 查看: 265

在Python中,可以使用 pandas 库来处理数据框(DataFrame),以及使用 openpyxl 或 xlsxwriter 等库将数据导出到Excel文件中。下面是一个示例代码,演示如何将DataFrame的数据导出到Excel表格中的不同子表,确保后面的导出结果不覆盖前面的导出结果:

首先,确保你已经安装了 pandas、openpyxl(或其他你喜欢的Excel写入库):

pip install pandas openpyxl

然后,可以使用以下示例代码:

import pandas as pd # 假设你有多个DataFrame,这里用两个DataFrame作为示例 data1 = {'Name': ['Alice', 'Bob', 'Charlie'], 'Age': [25, 30, 35]} df1 = pd.DataFrame(data1) data2 = {'City': ['New York', 'San Francisco', 'Los Angeles'], 'Population': [8_398_748, 883_305, 3_979_576]} df2 = pd.DataFrame(data2) # 创建一个Excel写入对象 with pd.ExcelWriter('output.xlsx', engine='openpyxl', mode='a') as writer: # 将第一个DataFrame写入到Excel中的Sheet1 df1.to_excel(writer, sheet_name='Sheet1', index=False) # 将第二个DataFrame写入到Excel中的Sheet2,避免覆盖之前的结果 df2.to_excel(writer, sheet_name='Sheet2', index=False)

这个例子中,pd.ExcelWriter 用于创建一个Excel写入对象,mode='a' 表示以追加模式打开文件,这样就可以确保后续的写入操作不会覆盖之前的结果。 to_excel 方法用于将DataFrame写入指定的Sheet中。

这样,就可以将多个DataFrame的数据分别写入到同一个Excel文件的不同Sheet中,而不会覆盖之前的结果。

import pandas as pd # 读取已有的Excel文件 try: with pd.ExcelWriter('output.xlsx', engine='openpyxl', mode='a') as writer: # 读取已有的子表数据 existing_data = pd.read_excel('output.xlsx', sheet_name=None) # 假设已有名为 'Sheet1' 和 'Sheet2' 的子表 sheet1_name = 'Sheet1' sheet2_name = 'Sheet2' # 判断子表是否已存在,如果存在则追加数据,否则创建新子表并写入数据 if sheet1_name in existing_data: df1 = pd.DataFrame({'Name': ['David', 'Eva', 'Frank'], 'Age': [28, 32, 40]}) df1.to_excel(writer, sheet_name=sheet1_name, index=False, header=None, startrow=existing_data[sheet1_name].shape[0]+1) else: df1.to_excel(writer, sheet_name=sheet1_name, index=False) if sheet2_name in existing_data: df2 = pd.DataFrame({'City': ['Chicago', 'Miami', 'Dallas'], 'Population': [2_693_976, 490_014, 1_343_573]}) df2.to_excel(writer, sheet_name=sheet2_name, index=False, header=None, startrow=existing_data[sheet2_name].shape[0]+1) else: df2.to_excel(writer, sheet_name=sheet2_name, index=False) except FileNotFoundError: # 如果文件不存在,直接创建文件并写入数据 with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer: df1 = pd.DataFrame({'Name': ['David', 'Eva', 'Frank'], 'Age': [28, 32, 40]}) df1.to_excel(writer, sheet_name='Sheet1', index=False) df2 = pd.DataFrame({'City': ['Chicago', 'Miami', 'Dallas'], 'Population': [2_693_976, 490_014, 1_343_573]}) df2.to_excel(writer, sheet_name='Sheet2', index=False)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3