前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Python将多个工作表保存到一个Excel文件中

使用Python将多个工作表保存到一个Excel文件中

作者头像
fanjy
发布2021-11-10 09:51:46
5.8K0
发布2021-11-10 09:51:46
举报
文章被收录于专栏:完美Excel

标签:Python与Excel,pandas

本文讲解使用Python pandas将多个工作表保存到一个相同的Excel文件中。按照惯例,我们使用df代表数据框架,pd代表pandas。

我们仍将使用df.to_excel()方法,但我们需要另一个类pd.ExcelWriter()的帮助。顾名思义,这个类写入Excel文件。如果仔细阅读pd.to_excel()文档,ExcelWriter实际上是第一个参数。

模拟数据框架

先创建一些模拟数据框架,这样我们就可以使用一些东西了。我们创建了两个数据框架,第一个是20行10列的随机数;第二个是10行1列的随机数。

import pandas as pd

import numpy as np

df_1 = pd.DataFrame(np.random.rand(20,10))

df_2 = pd.DataFrame(np.random.rand(10,1))

我们将介绍两种保存多个工作表的Excel文件的方法。这两种方法的想法基本相同:创建一个ExcelWriter,然后将其传递到df.to_excel()中,用于将数据框架保存到Excel文件中。这两种方法在语法上略有不同,但工作方式相同。

方法1

这是pandas官方文档中演示的方法。

with pd.ExcelWriter(‘mult_sheets_1.xlsx’) as writer1:

df_1.to_excel(writer1,sheet_name = ‘df_1’, index = False)

df_2.to_excel(writer1,sheet_name = ‘df_2’, index = False)

方法2

这是很多人喜欢的一种方法。

writer2 =pd.ExcelWriter(‘mult_sheets_2.xlsx’)

df_1.to_excel(writer2, sheet_name =‘df_1’, index = False)

df_2.to_excel(writer2, sheet_name =‘df_2’, index = False)

writer2.save()

这两种方法的作用完全相同——将两个数据框架保存到一个Excel文件中。然而,其运作机制是完全不同的。

区别

首先,由于方法1中的with块,所有数据框架必须在同一作用域内。这意味着如果你的数据框架不在当前作用域内,则必须首先将其引入。

而对于方法2,数据框架可以在不同的作用域内,并且仍然可以工作。这在代码复杂时特别有用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档