Pandas 使用来自pandas DataFrame的数据创建多个Excel工作表
在本文中,我们将介绍如何在Python Pandas中使用来自pandas DataFrame的数据创建多个Excel工作表。
阅读更多:Pandas 教程
Pandas DataFrame是什么?
在我们开始之前,让我们先了解一下Pandas DataFrame是什么。
DataFrame是Pandas库中的一个二维表结构(类似于电子表格),可用于处理/操作具有行和列之间关联关系的数据。
下面是一个具有以下列标题的简单示例DataFrame:
| Name | Age | Gender |
|---|---|---|
| John | 25 | Male |
| Jane | 32 | Female |
| Bob | 45 | Male |
| Mary | 18 | Female |
将DataFrame写入Excel文件
Pandas库中有几种方法可以将DataFrame的数据写入Excel文件。
这里我们将使用pandas.ExcelWriter类,该类允许我们在同一Excel文件中创建多个工作表。
下面是一个示例代码,用于将上面的示例DataFrame写入具有两个工作表“Male”和“Female”的Excel文件:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({
"Name": ["John", "Jane", "Bob", "Mary"],
"Age": [25, 32, 45, 18],
"Gender": ["Male", "Female", "Male", "Female"]
})
# 创建ExcelWriter对象
writer = pd.ExcelWriter('output.xlsx')
# 将男性过滤到独立DataFrame
male_df = df[df['Gender'] == 'Male']
# 将女性过滤到独立DataFrame
female_df = df[df['Gender'] == 'Female']
# 将男性DataFrame转换为工作表的名称
male_df.to_excel(writer, sheet_name='Male', index=False)
# 将女性DataFrame转换为工作表的名称
female_df.to_excel(writer, sheet_name='Female', index=False)
# 关闭ExcelWriter对象以保存数据
writer.save()
在上面的代码中,我们首先创建了一个示例DataFrame,然后创建了一个pandas.ExcelWriter对象,并将其文件名设置为“output.xlsx”。
接下来,我们使用筛选技术将男性和女性从DataFrame中过滤到两个单独的DataFrame中。
然后,我们使用to_excel()方法将每个单独的DataFrame写入Excel文件中的不同工作表(工作表名称设置为“Male”和“Female”)。
最后,我们使用save()方法关闭pandas.ExcelWriter对象以保存Excel文件。
如果您打开此文件,您应该看到两个工作表“Male”和“Female”,每个工作表均包含DataFrame的相应数据。
更多示例
使用类似上面的技术,您可以根据需要将多个DataFrame的数据写入同一Excel文件中的不同工作表中。
以下是一个示例脚本,演示如何将多个DataFrame的数据写入多个Excel工作表中:
import pandas as pd
# 创建示例DataFrame
df1 = pd.DataFrame({
"Name": ["John", "Jane", "Bob", "Mary"],
"Age": [25, 32, 45, 18],
"Gender": ["Male", "Female", "Male", "Female"]
})
# 创建第二个示例DataFrame
df2 = pd.DataFrame({
"City": ["New York", "Los Angeles", "Chicago", "Houston"],
"Population": [8623000, 4015000, 2719000, 2320000],
"State": ["NY", "CA", "IL", "TX"]
})
# 创建ExcelWriter对象
writer = pd.ExcelWriter('output.xlsx')
# 将df1转换为“People”工作表的名称
df1.to_excel(writer, sheet_name='People', index=False)
# 将df2转换为“Cities”工作表的名称
df2.to_excel(writer, sheet_name='Cities', index=False)
# 关闭ExcelWriter对象以保存数据
writer.save()
在此示例代码中,我们添加了另一个示例DataFrame“df2”,其中包含有关美国四个大城市的数据。
我们使用to_excel()方法将每个DataFrame写入Excel文件中的单独工作表中(工作表名称设置为“People”和“Cities”)。
最后,我们使用save()方法关闭pandas.ExcelWriter对象以保存Excel文件。
总结
Pandas库是Python中用于数据科学和数据分析的强大工具。它还为我们提供了处理和操作数据的简单方法。
在本文中,我们介绍了如何使用来自pandas DataFrame的数据创建多个Excel工作表。您可以使用相同的技术将多个DataFrame的数据写入同一Excel文件中的不同工作表中。
希望这篇文章对你有所帮助!
极客教程