范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python自动化办公快速地批量处理Excel内容

  前言
  Excel 是我们在工作和日常中使用频率很高,平时,我们对一个 Excel 文件中进行操作,手工进行很方便,但问题是,如果我们遇见需要同时操作多个 Excel 文件,就是一件非常耗时的事情了。你可能对每一个 Excel 文件都进行" 打开 - 复制粘贴 - 保存 "循环的机械工作。是不是感觉很枯燥和乏味呢?
  今天我带大家学习下,如何用 Python 操作Excel进行批量合并和拆分。想了解快速的使用Python进行批量合并和拆分,那我们首先要知道如何用Python操作Excel文件, 如何用 Python 手工操作一个 Excel 文件?
  一、导入excel表格文件处理函数import xlwt
  注意 ,这里的xlwt是python的第三方模块,需要下载安装才能使用。(python第三方库的安装也非常简单,打开命令行,输入pip install xxx就可以了pip install xlrd pip install xlwt
  其中,xlrd 库支持 Excel 读取,xlwt 库支持 Excel 写入。
  二、创建excel表格类型文件book = xlwt.Workbook(encoding="utf-8")
  调用xlwt模块中的Workbook方法来创建一个excel表格类型文件,其中的第一个参数是设置数据的编码格式,这里是’utf-8’的形式。
  三、在excel表格类型文件中建立一张sheet表单sheet = book.add_sheet("豆瓣电影Top250",cell_overwrite_ok=True)
  用book对象调用add_sheet方法来建立一张sheet表,这里面的第一个参数很明显就是设置sheet表格的名称,第二个参数cell_overwrite_ok用于确认同一个cell单元是否可以重设值,这里赋值为True就表示可重设值。
  四、自定义列名col = ("电影详情链接","图片链接","影片中文名","影片外国名","评分","评价数","概况","相关信息")
  用一个元组col自定义列的数量以及各列的属性名,比如我这里是8列,列属性名有"电影详情链接","图片链接"等。
  五、将列属性元组col写进sheet表单中for i in range(0,8):   sheet.write(0,i,col[i])
  很简单,用一个for循环将col元组的元组值(也就是列属性名)写入到sheet表单中。这里调用的是write方法,该方法的第一个参数是行、第二个参数是列、第三个当然就是col元组值。因为这里写进去的是列名,所以都是在第一行。
  六、将数据写进sheet表单中datalist = [["www","www图片","西游记","xiyouji","100分","0人","很好","超级棒"],["www2","www图片2","西游记2","xiyouji2","1000分","1人","很棒","一级棒"]] for i in range(0,2):   data = datalist[i]   for j in range(0,8):       sheet.write(i+1,j,data[j])
  把数据写进sheet表单里也很简单,先用一个for进行每行写入,在每一行中用第二个for循环把每一行当中的列值写进去。
  七、保存excel文件savepath = "excel表格.xls" book.save(savepath)
  只需要调用save方法即可保存到自定义的路径下面。
  完整代码:import xlwt # 创建excel表格类型文件 book = xlwt.Workbook(encoding="utf-8") # 在excel表格类型文件中建立一张sheet表单 sheet = book.add_sheet("豆瓣电影Top250",cell_overwrite_ok=True) # 自定义列名 col = ("电影详情链接","图片链接","影片中文名","影片外国名","评分","评价数","概况","相关信息") # 将列属性元组col写进sheet表单中 for i in range(0,8):   sheet.write(0,i,col[i])  # 将数据写进sheet表单中 datalist = [["www","www图片","西游记","xiyouji","100分","0人","很好","超级棒"],["www2","www图片2","西游记2","xiyouji2","1000分","1人","很棒","一级棒"]] for i in range(0,2):   data = datalist[i]   for j in range(0,8):       sheet.write(i+1,j,data[j]) # 保存excel文件 savepath = "excel表格.xls" book.save(savepath)
  运行截图
  批量合并:怎样实现 Excel 的合并?
  假设你需要对某些工作内容进行问卷调查,一般是先把 Excel 通过工作群分发给所有员工,再把群里收集到的反馈附件汇总成一个文件。
  每个员工上交的Excel如下:
  名字
  第一题
  第二题
  小红
  D
  B
  名字
  第一题
  第二题
  小方
  A
  C
  你要做的工作是汇总,
  名字
  第一题
  第二题
  小红
  D
  B
  小方
  A
  C
  如果是员工人数不多,操作起来还是很方便的。但是当员工数量几万个人时,这将是一件非常费时的事情。
  我想你可能会想,有没有什么好的方法呢?那是必然的,可以用Python和相关的第三库实现。我们来看看具体实现过程:
  首先,根据上面Excel数据生成过程,我们创建2张Excel表:import xlwt # 创建excel表格类型文件 table = xlwt.Workbook(encoding="utf-8") # 在excel表格类型文件中建立一张sheet表单 sheet = table.add_sheet("sheet1",cell_overwrite_ok=True) # 自定义列名 col = ("名字","第一题","第二题") # 将列属性元组col写进sheet表单中 for i in range(0,3):   sheet.write(0,i,col[i])  # 将数据写进sheet表单中 data = ["小方","A","C"] for j in range(0,3):   sheet.write(1,j,data[j]) # 保存excel文件 savepath = "excel1.xls" table.save(savepath)
  import xlwt # 创建excel表格类型文件 table = xlwt.Workbook(encoding="utf-8") # 在excel表格类型文件中建立一张sheet表单 sheet = table.add_sheet("sheet1",cell_overwrite_ok=True) # 自定义列名 col = ("名字","第一题","第二题") # 将列属性元组col写进sheet表单中 for i in range(0,3):   sheet.write(0,i,col[i])  # 将数据写进sheet表单中 data = ["小红","D","B"] for j in range(0,3):   sheet.write(1,j,data[j]) # 保存excel文件 savepath = "excel2.xls" table.save(savepath)
  好了,我们数据已经准备好了,接下来,看看如何汇总吧!
  其工作流程定义为三个步骤:
  1. 找到整个工作过程当中重复操作的部分;
  2.将重复操作的部分需要哪些手工操作找出来,使用 Python 编写程序代替手工操作的部
  分;
  3. 对重复的部分,使用循环语句进行批量处理。 import xlrd import xlwt from pathlib import Path, PurePath # 导入excel和文件操作库 # 指定要合并excel的路径 src_path = "/content" # 指定合并完成的路径 dst_file = "结果.xlsx" # 取得该目录下所有的xlsx格式文件 p = Path(src_path) files = [x for x in p.iterdir() if PurePath(x).match("*.xls")] print(files) # 准备一个列表存放读取结果 content = [] # 对每一个文件进行重复处理 for file in files:   data = xlrd.open_workbook(file)   table = data.sheets()[0]   # 取得每一项的结果   answer0 = table.cell_value(rowx=1, colx=0)   answer1 = table.cell_value(rowx=1, colx=1)   answer2 = table.cell_value(rowx=1, colx=2)   temp = f"{answer0},{answer1},{answer2}"   # 合并为一行先存储起来   content.append(temp.split(","))   print(temp)   # 输出   # 小红,D,B   # 小方,A,C   # 准备写入文件的表头 table_header = ["名字", "第一题", "第二题"] workbook = xlwt.Workbook(encoding="utf-8") xlsheet = workbook.add_sheet("统计结果") # 写入表头 row = 0 col = 0 for cell_header in table_header:   xlsheet.write(row, col, cell_header)   col += 1  # 向下移动一行 row += 1 # 取出每一行内容 for line in content:   col = 0   # 取出每个单元格内容   for cell in line:   # 写入内容     xlsheet.write(row, col, cell)     # 向右移动一个单元格     col += 1   # 向下移动一行   row += 1 # 保存最终结果 workbook.save(dst_file)
  我使用了 for 语句依次获取 src_path 变量指向的路径下所有的文件。同时,为了避免这个目录里的文件类型过多,我使用一个 if 语句用于条件判断,只提取 .xls 结尾的文件。
  合并后的效果如下图:
  名字
  第一题
  第二题
  小红
  D
  B
  小方
  A
  C
  批量拆分:怎样实现 Excel 的拆分?
  对于批量操作 Excel,还有一种情况是批量拆分。比如很多公司会用 Excel 记录和统计员工的薪水、记录货物信息、记录客户情况等数据。这些数据越来越多之后,文件会越来越大,打开文件和查找速度就会变得很慢,最后只好按照某些列进行 Excel 的拆分。
  核心代码如下for line in range(1,employee_number):   content = table.row_values(rowx=line, start_colx=0, end_colx=None)   # 将表头和员工数量重新组成一个新的文件   new_content = []   # 增加表头到要写入的内容中   new_content.append(salary_header)   # 增加员工工资到要写入的内容中   new_content.append(content)   # 调用自定义函数write_to_file()写入新的文件   write_to_file(filename = content[1], cnt = new_content)
  文件的批量拆分也是通过循环来实现逐行处理的功能的,但是你需要注意拆分以后的要保存的文件名称不要重复,不然很容易导致 Excel 中只有最后一次循环写入的内容。

手上有一穴,可除五脏六腑之浊气手掌上有一个董氏奇穴中很关键的穴道,可消除五脏六腑浊气,疏通中焦积滞,祛瘀通络,活血化瘀养血,加速创口痊愈,在临床医学上屡创奇迹。一制污穴,它的好处,可能你还不知道?制污穴属经外奇川菜十大名菜川菜为中国四大菜系之一,在中国烹饪史上有重要地位。它取材广泛,口味清鲜醇浓并重,以善用麻辣著称,并以其别具一格的烹调方法和浓郁的地方风味,融会了东南西北各方的特点,博采众家之长,善这才是家常老豆腐最好吃的做法,香辣入味又下饭,3块钱做一大盘豆腐是豆制品中最常见的一种美食,豆腐的价格便宜,而且具有丰富的营养价值,可以用来制作各种各样的菜肴,所以豆腐备受人们的喜爱。豆腐的吃法有很多种,可以凉拌也可以炒着吃还有炖着吃,最出蓝宝石葡萄营养丰富口感香甜,但是种植有几点技巧,一起来看看我最爱吃的水果就是葡萄,今天为大家介绍一种葡萄它不仅维生素含量高而且水分很大,吃起来很是香甜解渴。葡萄品种不同,颜色也不同。有多种颜色,绿色的红色的等等。近年来,市场上出现了一个新中国五大垃圾国货大曝光,超市这五个钉子户终于被扒出来了你们知道?垃圾国货用了很容易皮肤越来越油,脸上长痘所以可别再乱用超市里的钉子户了!这些包装垃圾的国货你千万别嫌弃它们啊虽然丑但是效果是真的造上海硫磺皂,去后背豆可造泉帝洁面乳,去脸收缩毛孔的爽肤水有哪些?哪几个牌子比较好玉兰油新生塑颜金纯活能水虽然这款爽肤水没有怎么做广告,但用过的人都知道其补水保湿效果是一流的,在涂抹之后能够被皮肤快速吸收,基本不会出现油腻粘手的问题,尤其是在秋冬季节使用,整天脸老中医忠告必须要了解的68个养生知识,为了健康,不妨收藏如今人们的生活水平提高了很多,观念也发生了很大转变,现在大家都意识到了健康的重要性,开始注重身体的保养。众所周知,当人到了一定年龄,身体各项机能就会逐渐衰退,此时身体就会发出一些衰返工后,又困又累但睡不着,吃褪黑素管用吗?柯大夫,你好。我今年28岁,身体状态还不错。不过,我的睡眠质量有些差,常常又困又累,但上床后却很难睡着。年后返工后,这种情况更明显。请问我该怎么办?吃褪黑素可以吗?家医柯大夫先回答健康贴士预防便秘健康指导科普指导深圳市中医院肛肠科一讲究生活规律便秘患者要养成良好的生活习惯,不要轻易改变生活规律,无论有无便意,均应养成每天早餐后定时排便的习惯,最好是晨起喝杯温开水或淡盐水,白天至少饮香到骨子里的宅家神仙吃法!妈妈拿手的8道美食来咯妈妈做的美食可以说是最难忘的味道!好吃到呱呱叫的面条排骨炒菜还有炖汤,宅家期间还不学着做起来唤醒沉睡的味蕾!01妈妈的拿手好菜椒盐蒜香排骨椒盐蒜香排骨无敌香,连边角都焦香酥脆,里面5月前吃它最水灵!清热下火还消暑,10分钟上桌全家爱谷雨一过,天气真是毫不客气,一场雨接一场雨地下。好在都是懂事的雨笑哭不仅挑在我下班前落完,还浇灌了菜地里许多蔬菜瓜果,滋润得果蔬个个清甜水灵!今天这瓜,便赶上鲜的了丝瓜,人称夏季养
著名体育解说员姚全为辽宁队辟谣,事关郭艾伦和刘志轩近期,某音短视频平台一位名叫二龙湖贾队长的主播火遍全网。贾队长是一名二人转演员,辽宁辽阳人,是一名辽篮球迷,以二人转调侃的方式说球,受到很多篮球爱好者喜欢和关注,本人某音号也关注该重返湖人?他拿着3000万年薪,季后赛场均12分!美媒单换威少吧本文首发于网易体育,作者是我。2020年2月7号,当拉塞尔乘坐的飞机抵达明尼苏达的时候,就看到了舷窗外冻得直哆嗦的唐斯,他的homie第一时间给他送上了连夜赶制的森林狼0号球衣。然朱易晒训练照,穿衣风格与谷爱凌截然相反,获赞最美邻家女孩结束五一假期之后,中国花样滑冰运动员朱易也正式投入了新一期的训练之中恢复力量训练。从朱易晒出的训练照片来看,她还是比较努力和刻苦的。不少网友也纷纷在朱易的社交网下留言加油!希望能更中国云南普者黑晨韵是这样子酣睡一觉醒来春光明媚日揉挑串霖薄去轻敲纱窗几热汲帐里帐外若音仿古灯不是那盏灯仿楼不是那重阳楼侧眸微微睛抚床褥正好暧心耳边忽闻茑茑语原是鸟儿成群沿河鸣斜皓宇水碧碧天清清喜鹊对呀对双飞30年前,中国GDP是印度的1。1倍,现在是多少?印度和中国两个国家有挺多相似之处,首先都是文明古国,拥有源远流长的历史其次都曾经遭受过列强的侵略和殖民第三都是人口大国,目前人口都是14亿的规模,是世界上人口最多的两个国家第四就是倒计时4天!moto携手中国绿化基金会环保开卷,植树造林走一波?5月份手机圈又要有一波好戏上演,moto也会扮演非常重要的角色。一向喜欢搞事情的moto最近接连放出预热海报,5月10日大干一场引发用户们的集体围观,而今天是倒计时4天的日子,新海开源仅数MB,准确率99。9的离线IP地址定位库,0。0x毫秒级查询一开源项目简介Ip2region准确率99。9的离线IP地址定位库,0。0x毫秒级查询,ip2region。db数据库只有数MB,提供了java,php,c,python,node喜报,国产操作系统2021年营收超11亿元本月,中国软件发布2021年年报,全年实现营收103。5亿元,同比增39。73,其中,麒麟软件2021年实现营收11。34亿元,同比增长85。麒麟软件成为第一个超10亿元收入的国产蚊子是如何嗅出人类来咬人的?原来蚊子喜欢某种橙味。埃及伊蚊的放大照片夜深人静,你蜷缩在床上,在漆黑的房间里被捆绑到下巴突然你听到一只蚊子从你耳边掠过的嗡嗡声。一些蚊子专门叮咬人类,而这些微小的吸血鬼擅长追踪我美欧援乌最新动向综合法媒报道,继3月9日美国国会批准136亿美元援助后,4月28日,拜登再向国会申请追加330亿美元以应对俄乌冲突,其中包括204亿美元的军事援助85亿美元的经济援助30亿美元的粮6月虎宝待产包清单大合集最近疫情反反复复好多物流停运大致整理了现有的待产包用品供各位新手妈咪参考有遗漏的也欢迎告诉我证件类夫妻双方身份证,户口本结婚证医保卡,银行卡产检资料宝宝用品连体衣,半背衣52和59