easyexcel获取所有sheet页名称_Chapter1 合并所有表格

9102年冬季的一天,身为一个新人,总是迫不及待地希望能够快速融入一个新集体,尽快体现价值,然而幸福总是来得这么突然。

10:00 AM

Boss:“溉汶啊,帮我做个需求统计。我一会儿把各业务部门的需求列表发给你,你给粘在一个Sheet里就行。”

Gavin:“好嘞!老大啥时候要?”

Boss:“下午周会上,我要跟那帮业务拍优先级。14:00 PM吧。”

Gavin: “收到。”


10:05 AM

打开新公司给配的二手Thinkpad,刚做完的系统,感觉就像回到了新手村,啥也木有,这咋开工啊?俗话说的好:工欲善其事必先利其器。咱得先把大杀器Anaconda配上。

具体咋配置呢?

7e71de8b64b2bfc70fd9613e16eb7a57.png
  1. 官网下载地址 https://www.anaconda.com/distribution/#download-section;
  2. 根据自己的系统,切换不同的页面,下载相应的安装文件,并安装;
  3. 安装过程也比较简单,选择安装位置,然后就是不停的下一步,直到完成;

11:00 AM

热心大哥Max:“小汶啊,到饭点儿了,走吧,哥带你去食堂认认门。组里的人都出差了,这两天咱哥俩食堂凑合凑合,等他们回来了,咱再给你弄顿大的,欢迎一下!”

Gavin:“得嘞,听您安排!”


12:05 PM

一看邮箱,终于开始陆陆续续收到Boss转发的邮件,邮件的附件里是一个个Excel文档,每个部门也都只管自己的那部分需求,要是能接龙发过来,我也省了合并的功夫了。好在Anaconda也安装完了,开工吧!

  1. 先把附件都下载到文件夹里;
  2. 打开开始,找到Anaconda Prompt,双击即可;
  3. 输入 "jupyter lab",然后 Enter;
  4. 在默认浏览器的新Tab页中,你会看到一个很实用的界面:
  5. 没时间研究了,按左上角的 "+",选择 Notebook下的Python 3文档;
  6. OK,终于开始编写Python文档了!
40321004d69a97bde86769d2d2bd9404.png
9d743dc861291d2195dbdb8385c479fe.png

12:07 PM

我们要干什么来着?哦对了,要合并所有附件里的Excel文档到同一个Sheet。先画个流程图吧,之后再写Python,这样思路比较清晰。

  1. 打开文件夹,获得文件列表;
  2. 读取Excel文件A到df_a,并添加到一个List当中;
  3. 重复3,直到所有文档都合并到df;
  4. 将List当中的文档合并到df;
  5. 将df保存到目标文件夹;

12:15 PM

流程差不多就是这个样了,开始码代码。

c445bf8f1b58036e0659b37ee7d2a3b1.png

Step1. 在第一个Cell里,读出文件夹里的所有文件名称:

#!/usr/bin/python# -*- coding: UTF-8 -*-import os, sys# 打开文件path = "F:jupyterlabChapter1-attachment"dirs = os.listdir( path )# 输出所有文件和文件夹for file in dirs:   print(file)

点击黑色运行三角,之后会展示如下:

A.xlsx
B.xlsx
C.xlsx
D.xlsx
E.xlsx

Step2. 在第二个Cell里,完成合并的操作+保存新文档的操作:

import pandas as pd#创建一个Listlistdf=[]#循环操作读取文档到矩阵并塞进Listfor filename in dirs:    #读取文档的绝对地址    filepath =  "F:jupyterlabChapter1-attachment"+filename    #将表格读取到矩阵中    df_a = pd.read_excel(filepath)    #将矩阵塞进List    listdf.append(df_a)#将List中的矩阵合并df = pd.concat(listdf)#打印合并后的矩阵print(df)#将df写入到名为result.xlsx的文档中writer = pd.ExcelWriter(path+"esult.xlsx")df.to_excel(writer,'Sheet1',index=False)writer.save()

运行一下:

A.xlsx
B.xlsx
C.xlsx
D.xlsx
E.xlsx
No. Requirement Priority PIC
0 1 Dig a hole 0 Gavin
0 1 Jump into the hole 0 Gavin
0 1 Cover the hole with Soil 0 Gavin
0 1 Water the position 0 Gavin
0 1 Go home 0 Gavin

Step3. 检查下效果

  1. 先运行下Step1,得到结果:A.xlsx
    B.xlsx
    C.xlsx
    D.xlsx
    E.xlsx
    result.xlsx
  2. 在第三个Cell里,我们可以直接查看 result.xlsx的文档内容:
#拼接目标文件的绝对路径filepath =  "F:jupyterlabChapter1-attachmentesult.xlsx"#将表格读取到矩阵中df_result = pd.read_excel(filepath)#打印表格内容print(df_result)

运行一下:

No. Requirement Priority PIC
0 1 Dig a hole 0 Gavin
1 1 Jump into the hole 0 Gavin
2 1 Cover the hole with Soil 0 Gavin
3 1 Water the position 0 Gavin
4 1 Go home 0 Gavin


12:30 PM

又打开excel文档看了下,发现No.那一列都是1,感觉不大好啊,再改改? 其实不改也行......哈哈!

在第四个Cell里,我们修改一下:欢迎关注公众号"溉汶Python实践派",回复"修改列号"获取代码!

No. Requirement Priority PIC
0 1 Dig a hole 0 Gavin
0 2 Jump into the hole 0 Gavin
0 3 Cover the hole with Soil 0 Gavin
0 4 Water the position 0 Gavin
0 5 Go home 0 Gavin


12:35 PM

没什么问题,直接发送给了Boss。转念一想,这个活儿保不齐以后就是我的了,代码整理一下,以后一键运行,点那么多步太烦人啦!有需要的完整版代码的小伙伴,欢迎加我微信交流!


感谢各位小伙伴能看到最后,希望对你的日常工作能有所帮助~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值