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

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 中只有最后一次循环写入的内容。

文旅局长,这份出圈指南请收好近日,随着国内旅游市场的有序快速恢复,甘孜文旅局长刘洪解局长带你游随州塔河县文旅局长傻嘟嘟等账号在网上迅速走红,各地文旅局长们纷纷卷了起来,纷纷扮相出境,有的零下20鲜衣怒马驰骋雪游黄鹤楼记至武汉乘车之隙,得游黄鹤楼,始知千年黄鹤楼已不复存,今楼修成于公元一九八五年五月,虽非原迹,然亦是古貌犹存,风色不减当年,登上高楼远望,长江之水悠悠,怀古之情便油然而生,只是寻不到突然,阜裕大桥火了!真的没想到一时间,阜裕大桥成为网红拍照打卡点常从桥上路过的你一定没想到吧桥下竟别有一番风景图源阜阳影翼航拍不仅风景好看图源张强在这拍一组人物照更是氛围感拉满来看看大家的美照吧图源独立摄影师文办理赴华签证,千万别被这些人忽悠了!据中国驻奥克兰总领馆消息,近期,不少新西兰赴华签证申请人反映预约较为困难。中国驻奥克兰总领馆高度重视这一问题,已采取增加人手提高每日受理量新增受理时段等多项措施积极解决。总领馆也获声音贵州世界野生动植物保护日来源贵州广播电视台三农事业部贵州赤水桫椤桫椤是一种起源古老的大型树蕨,其种群在一亿八千万年前与恐龙同生共荣,享有活化石盛誉。贵州赤水桫椤国家级自然保护区以桫椤等国家珍稀濒危动植物及35月才有的贵州玩法,错过又是一年低调贵州被孤独星球评为中国最值得去被纽约时报评为一生必去被联合国世文会列入全球10大旅游首选地入选世界乡土文化保护基金会全球18个生态文化保护圈之一。35月,贵州的春天,不止有堪比这到底是享受,还是遭罪一群内地来香港旅游的六七十岁的老年人,在大街上蹲着站着吃盒饭。尽管身边车水马龙川流不息,他们依然吃得津津有味心安理得。对这种现象,香港的本地人很是费解这到底是出来享受还是遭罪?从理英媒流感病毒或源自6亿年前鱼类据英国新科学家周刊网站3月1日报道,在鲟鱼体内发现的流感病毒表明,流感病毒可能源于约6亿年前的鱼,并且跟宿主一起进化,得以在今天感染大量物种。流感病毒可以使包括人鸟猫鲸和海豚在内的AFM具有无机杂化界面促进HER全文简介合理的异质界面工程是高效稳定的析氢反应的关键。在此,我们设想了一种在高电流密度下基于草酸与聚苯胺(PANI)组装的有机无机杂化异质结。聚苯胺的离域电子与草酸金属位的定域d电红米Note13Pro渲染图天玑81005500mAh,1699锁定千元机皇红米一直大家心目中的性价比神机,去年红米Note12Pro发布时,大家都被210w的神仙快充所吸引。时隔五个月,按照惯例一年两代的新Note系列又将问世,成为2023年的第一代,红LCD屏超大电池,iQOOZ7配置曝光iQOOZ7和Z7x即将发布,配置方面亮点是快充和电池,Z7将搭载120W5000毫安时电池,Z7x则是80W6000毫安时电池,在1500元价位以内,这个规格还是比较猛的。Z7系
第一财经研究院2022年人民币汇率年报人民币汇率开启新周期发布!摘要2022年,人民币汇率走势跌宕起伏。美元对人民币汇率由2022年第一季度最低的6。31一路上升至年内最高点7。31,随后在疫情防控优化的背景下小幅回落至6。95。人民币汇率由一交广夜听莎士比亚李尔王离人性越近,离人就会越远听夜晚的声音成熟并不是看懂事情,而是理解人性。来源每晚一卷书作者yebo主播珈宁点击下方音频收听更多精彩内容和细节莎士比亚,被马克思誉为人类最伟大的戏剧天才。他一生笔耕不辍,总共流郑建邦向民革各级组织和广大党员发表新春贺词!癸卯兔年春节即将到来,民革中央主席郑建邦向民革各级组织和广大党员发表了热情洋溢的新春贺词,祝愿我们伟大的祖国在新的一年里繁荣昌盛国泰民安,祝愿大家在新的一年里工作顺利幸福安康!春二育儿假护理假怎么休?广东明确了!近日,广东省人社厅广东省卫生健康委发布了关于进一步做好相关假期贯彻落实工作的通知(下称通知),对育儿假护理假的落地细则进行了规定,明确育儿假陪产假不可叠加,可拆分请休。该通知自印发2023年春节档电影大盘点!今年有7部电影定档2023年春节档,包括科幻片流浪地球2古代悬疑片满江红谍战片无名喜剧片交换人生体育电影中国乒乓之绝地反击以及两部动画电影深海和熊出没伴我熊芯。从题材和影片风格来看中央网信办即日起开展为期1个月的清朗2023年春节网络环境整治专项行动为营造喜庆祥和的春节网上舆论氛围,中央网信办决定即日起开展为期1个月的清朗2023年春节网络环境整治专项行动。一工作目标贯彻落实党的二十大精神,坚持以人民为中心的发展思想,加强重点原创沃土幸福年味浓迎春苗青摄老家的年味是一壶地道的包谷酒,是一桌丰盛的年夜饭,是一家人围坐在火塘边的守岁,更是那丝丝缕缕的乡愁一hr我的老家在鄂西山区一个叫沿渡河的小镇上,因两条小河穿镇而过,人称小梦幻照进现实!梦幻西游联动古都西安中国年,共约兔年!唐朝作为中国历史封建社会的繁盛时期,其辉煌灿烂的盛唐文化在中华民族传统文化中有着浓厚的影响力,并逐渐形成了盛唐文化,在国外,唐文化甚至一定程度上代表着中国文化。唐朝富足开明又飘逸浪中国足协两名官员接受监察调查,涉嫌严重违法来源环球时报环球时报综合报道继中国男足原主教练李铁接受监察调查后,国家体育总局的消息显示,19日再有两名足协官员被调查。消息称,中国足协第十一届执委会成员原秘书长刘奕涉嫌严重违法,目标月球!中国航天将有这些大动作国家航天局近日发布消息根据探月工程总体安排我国计划明年发射嫦娥六号探测器将执行月球背面首次采样返回任务此外,明年我国将发射鹊桥二号中继星为后续嫦娥六号七号八号任务提供中继通讯服务嫦中国10大最美乡村,宜养宜旅,去过一半此生无憾,你去过几个?不知有多少人,是生于乡村,长于乡村的又不知有多少人,是从未去过乡村,却将远方的想象丢在乡村的。前有开荒南野际,守拙归园田,今有等赚够了钱,就回乡村养老,对田园牧歌的向往,一千多年前