(编辑:jimmy 日期: 2024/11/12 浏览:2)
一、简介
pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控时非常方便,本文就将针对这两个类的使用方法展开介绍;
二、ExcelFile()
在使用ExcelFile()时需要传入目标excel文件所在路径及文件名称,下面是示例:
import pandas as pd demo_excel = pd.ExcelFile(r'D:\demo.xlsx')
查看demo_excel的类型:
type(demo_excel)
接下来可以使用ExcelFile()中的方法来获取目标表格文件的相关信息:
1、sheet_names
使用sheet_names来查看当前表格中包含的所有sheet名称(按顺序):
print(demo_excel.sheet_names)
2、parse()
使用parse()可以根据传入的sheet名称来提取对应的表格信息,下面是一个简单的示例:
table1 = demo_excel.parse(sheet_name=demo_excel.sheet_names[0]) table2 = demo_excel.parse(sheet_name=demo_excel.sheet_names[1]) table3 = demo_excel.parse(sheet_name=demo_excel.sheet_names[2]) print(table1) print(table2) print(table3)
三、ExcelWriter()
使用ExcelWriter()可以向同一个excel的不同sheet中写入对应的表格数据,首先需要创建一个writer对象,传入的主要参数为已存在容器表格的路径及文件名称:
writer = pd.ExcelWriter(r'D:\demo.xlsx') print(type(writer))
基于已创建的writer对象,可以利用to_excel()方法将不同的数据框及其对应的sheet名称写入该writer对象中,并在全部表格写入完成之后,使用save()方法来执行writer中内容向对应实体excel文件写入数据的过程:
'''创建数据框1''' df1 = pd.DataFrame({'V1':np.random.rand(100), 'V2 ':np.random.rand(100), 'V3':np.random.rand(100)}) df1.to_excel(writer,sheet_name='sheet1',index=False) '''创建数据框2''' df2 = pd.DataFrame({'V1':np.random.rand(100), 'V2 ':np.random.rand(100), 'V3':np.random.rand(100)}) df2.to_excel(writer,sheet_name='sheet2',index=False) '''创建数据框3''' df3 = pd.DataFrame({'V1':np.random.rand(100), 'V2 ':np.random.rand(100), 'V3':np.random.rand(100)}) df3.to_excel(writer,sheet_name='sheet3',index=False) '''数据写出到excel文件中''' writer.save()
这时之前指定的外部excel文件中便成功存入相应的内容: