前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(数据科学学习手札52)pandas中的ExcelWriter和ExcelFile

(数据科学学习手札52)pandas中的ExcelWriter和ExcelFile

原创
作者头像
Feffery
发布2018-11-22 22:54:30
1.6K0
发布2018-11-22 22:54:30
举报

一、简介

  pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控时非常方便,本文就将针对这两个类的使用方法展开介绍;

二、ExcelFile()

  在使用ExcelFile()时需要传入目标excel文件所在路径及文件名称,下面是示例:

代码语言:javascript
复制
import pandas as pd

demo_excel = pd.ExcelFile(r'D:\demo.xlsx')

  查看demo_excel的类型:

代码语言:javascript
复制
type(demo_excel)

  接下来可以使用ExcelFile()中的方法来获取目标表格文件的相关信息:

1、sheet_names

  使用sheet_names来查看当前表格中包含的所有sheet名称(按顺序):

代码语言:javascript
复制
print(demo_excel.sheet_names)

2、parse()

使用parse()可以根据传入的sheet名称来提取对应的表格信息,下面是一个简单的示例:

代码语言:javascript
复制
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对象,传入的主要参数为已存在容器表格的路径及文件名称:

代码语言:javascript
复制
writer = pd.ExcelWriter(r'D:\demo.xlsx')
print(type(writer))

  基于已创建的writer对象,可以利用to_excel()方法将不同的数据框及其对应的sheet名称写入该writer对象中,并在全部表格写入完成之后,使用save()方法来执行writer中内容向对应实体excel文件写入数据的过程:

代码语言:javascript
复制
'''创建数据框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文件中便成功存入相应的内容:

  以上就是本文的全部内容,如有笔误望指出。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档