自动化办公:教你如何快速合并Excel文件

举报
yk 坤帝 发表于 2021/07/14 23:22:58 2021/07/14
【摘要】 大家好,今天更新一篇关与自动化办公的文章。 我们在日常办公中经常会处理各种表格,进行问卷调查等。这些表格可以是我们做好的模板,可以是实践调研,我们需要对填写的表格进行汇总总结,同时需要将反馈回来的附件给汇总结成一个文件。这个工作看似很简单,但是我们每个月每天都有各种类型的表格要进行收集统计, 如果每次都是这样一个个文件一个个文件进行操作的话,那样也太浪费时间了...

大家好,今天更新一篇关与自动化办公的文章。

我们在日常办公中经常会处理各种表格,进行问卷调查等。这些表格可以是我们做好的模板,可以是实践调研,我们需要对填写的表格进行汇总总结,同时需要将反馈回来的附件给汇总结成一个文件。这个工作看似很简单,但是我们每个月每天都有各种类型的表格要进行收集统计,

如果每次都是这样一个个文件一个个文件进行操作的话,那样也太浪费时间了,而且效率更是非常低下,几百个表格还好说,当文件数量到达几千,几万的时候,我们就要去想想简单的方法了,今天在这里让大家,解放双手,解放大脑,不再重复造轮子,告别996.

所以,今天跟大家分享一个批量合并Excel表格(csv文件也是同理,主要以excel表格为例)的方法。这个方法分为以下几个部分。

一 、Excel文件(csv文件)的读取和写入

这里我们主要用到的是Openpyxl库,来对Excel进行读取和写入操作。

如果没安装的花可以直接

pip install Openpyxl

  
 
  • 1

进行安装

如果pip无法安装,可以看我以前教的第三方库快速安装的方法(清华镜像,豆瓣镜像安装等),这里不多赘述。

1.Excel的读取

首先调用openpyxl.load_workbook()函数,打开“调研报告.xlsx”文件。

import openpyxl
wb = openpyxl.load_workbook('调研报告.xlsx')

  
 
  • 1
  • 2

然后获取“调研报告.xlsx”工作薄中名为“sheet1”的工作表。

sheet = wb['sheet1']

  
 
  • 1

把“sheet1”工作表中A1单元格赋值给A1,再利用单元格value属性,就能获得A1单元格的值。

A1 = sheet['A1']
A1_value = A1_cell.value

  
 
  • 1
  • 2

以上就是Excel文件的读取啦!其他的单元格的数据获取同上,如想批量获取,只需加上一个for循环即可。

2.Excel的写入

利用openpyxl.Workbook()函数创建新的workbook(工作薄)对象,就是创建新的空的Excel文件。

wb_1 = openpyxl.Workbook()

  
 
  • 1

创建完新的工作薄后,还得获取工作表。不然程序会无所适从,不知道要把内容写入哪张工作表里。

sheet_1 = wb_1.active

  
 
  • 1

如果我们想往工作表里写入一行内容的话,就得用到append函数。然后如果想批量插入的话,我们加上一个for循环就可以了。

a = [A.value,B.value,C.value,D_cell.value,E.value]
sheet_1.append(a)

  
 
  • 1
  • 2

往单元格里写入内容只要定位到具体的单元格,如A1(根据Excel的坐标,A1代表第一列第一行相交的单元格),然后给这个单元格赋值即可。它可以方便我们输入文件的表头。

sheet_1[‘A1’] = ’ ’
sheet_1[‘B1’] = ’ ’
sheet_1[‘C1’] = ’ ’
sheet_1[‘D1’] = ’ ’
sheet_1[‘E1’] = ’ ’
#写入你的表头名称

以上就是Excel文件的写入啦!如想批量写入,只需加上一个for循环即可。

二、批量获取Excel文件

在上面我们已经学会如何读取和写入Excel文件了,但是在读取文件名的时候,我们还是需要手动输入的,如果文件很多的话,我们要一个一个的输入,这不仅麻烦,而且也不符合自动化办公的名头。所以,我们就需要想办法取得该目录下的所以Excel文件。

这里我们用的是os库。

如果没安装的花可以直接

pip install os

  
 
  • 1

进行安装

如果pip无法安装,可以看我以前教的第三方库快速安装的方法(清华镜像,豆瓣镜像安装等),这里不多赘述。
取得该目录下所有的xlsx格式文件

path = ‘C:\自动化办公’

将该目录下所有文件存储到files列表中。

file_list = []
path = 'C:\自动化办公'
for i in os.listdir(path): if 'xlsx' in i.split('.'): files.append(i)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

示例:

import os
#os & sys 模块使用\os_mod.py
print(os.getcwd())

print(os.listdir())

print(os.listdir('os & sys 模块使用'))
for i in os.listdir('os & sys 模块使用'): print(i) if 'py' in i.split('.'): print(os.listdir('os & sys 模块使用'))

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、总体思路

批量合并Excel文件的思路是:

1. 获取该目录下所有的Excel文件,并存入一个列表中。

2. 创建新的Excel文件(汇总文件)。

3. 依次读取Excel文件,并写入汇总文件中。

4. 保存汇总文件。

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

自动化办公练习代码:


个人公众号 yk坤帝
后台回复 自动化办公excel合并 获取源代码

import os
#os & sys 模块使用\os_mod.py
print(os.getcwd())

print(os.listdir())

print(os.listdir('os & sys 模块使用'))
for i in os.listdir('os & sys 模块使用'): print(i) if 'py' in i.split('.'): print(os.listdir('os & sys 模块使用'))
# os.remove()
# os.removedirs()
# print(os.path.isfile('a'))
# print(os.path.isfile('os & sys 模块使用/os_mod.py'))

# print(os.path.exists('os & sys 模块使用/os_mod.py'))
# print(os.path.exists('os & sys 模块使用'))

# print(os.path.dirname('os & sys 模块使用/'))

# print(os.path.abspath('os_mod.py'))

# print('2步操作!!!!!!!')

# print(os.path.basename('os_mod.py'))

# print(os.system('ipconfig'))

# #print(os.remove('旧的文件名','新的文件名'))

# # os.mkdir()
# # os.makedirs()

# print(os.stat('os & sys 模块使用/os_mod.py'))
# print(os.path.getsize('os & sys 模块使用/os_mod.py'))

# import sys
# print(sys.path)
# print(sys.argv)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

个人公众号 yk坤帝
后台回复 自动化办公excel合并 获取源代码

文章来源: blog.csdn.net,作者:yk 坤帝,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_45803923/article/details/118690800

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。