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。 |
|
来自: hercules028 > 《Python and AI》