分享

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

 hercules028 2021-11-09

excelperfect

标签: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,数据框架可以在不同的作用域内,并且仍然可以工作。这在代码复杂时特别有用。

注:本文学习整理自pythoninoffice.com。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多