下面给您详细讲解pandas生成Excel文件并增加sheet表的实例教程。
1. 安装pandas库
pandas是一款Python数据分析库,专门用于数据处理与建模。使用pandas库生成Excel文件并增加sheet表建议使用pip安装,在命令行输入以下命令:
pip install pandas
2. 生成Excel文件
我们生成Excel文件需要用到pandas中的DataFrame,可通过以下代码构造数据:
import pandas as pd
df1 = pd.DataFrame({'姓名': ['张三', '李四', '王五'], '年龄': [20, 21, 22]})
df2 = pd.DataFrame({'性别': ['男', '女', '男'], '成绩': [90, 70, 80]})
其中,df1和df2是生成的两张表格,’姓名’、’年龄’、’性别’、’成绩’为各表格的列名称。
然后,可以将这两张表格保存为一个名为“test.xlsx”的Excel文件:
writer = pd.ExcelWriter('test.xlsx')
df1.to_excel(writer, sheet_name='个人信息', index=False)
df2.to_excel(writer, sheet_name='成绩单', index=False)
writer.save()
其中,ExcelWriter()方法定义了Excel文件的名称,to_excel()方法可指定写入的sheet名称,以及index=False参数用于去除自动生成的index。
3. 添加新的sheet表
使用pandas库添加新的sheet表,可通过先读入Excel文件,然后利用pd.concat()方法将表格合并后再保存为Excel文件的方式实现。
示例一:添加和已有sheet表数据结构相同的Sheet表格
df3 = pd.DataFrame({'分数': [88, 65, 77]})
sheet_name = '学生成绩'
file = pd.read_excel('test.xlsx', sheet_name=None)
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
writer.book = file
df1 = file['个人信息']
df4 = pd.concat([df1, df3], axis=1) #合并表单
df4.to_excel(writer, sheet_name=sheet_name, index=False) #新加sheet表
writer.save()
其中,pd.read_excel()方法用于读取Excel文件,sheet_name=None表示读入Excel文件中的所有sheet表格,并通过pd.concat()方法将df1和df3表格合并后保存在df4。
示例二:添加和已有sheet表数据结构不同的Sheet表格
df5 = pd.DataFrame({'科目': ['数学', '语文', '英语'], '分数': [88, 65, 77]})
sheet_name = '学生考试'
file = pd.read_excel('test.xlsx', sheet_name=None)
writer = pd.ExcelWriter('test.xlsx', engine='openpyxl')
writer.book = file
df5.to_excel(writer, sheet_name=sheet_name, index=False) #新加sheet表
writer.save()
其中,pd.DataFrame()方法用于生成df5表格,sheet_name=’学生考试’指定了新Sheet表格的名称。
注意:在使用pd.ExcelWriter()方法保存文件时,需要指定engine=’openpyxl’,否则在增加新sheet表时会报错。