前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python工具 | 用python把excel成绩单拼起来

Python工具 | 用python把excel成绩单拼起来

作者头像
Justlovesmile
发布2021-12-14 13:17:15
3810
发布2021-12-14 13:17:15
举报
文章被收录于专栏:云+分享

接上一篇,昨天除了把pdf转word,还得把几次成绩单拼起来,又去百度了openpyxl的用法,😂

由于我是一个菜鸟,如果成绩单里有人少了一次成绩,那个人的信息就错位了。

代码语言:javascript
复制
import os
from openpyxl import Workbook   #pip install openpyxl
from openpyxl import load_workbook

ex={}#字典

def readexcel(file):
	wb=load_workbook(file)#读取excel
	sheet=wb.get_sheet_by_name(wb.get_sheet_names()[0])#读第一个sheet表单
	print("正在打开"+file+"的"+sheet.title)
	ws=wb.active#激活
	#找一找学号在第几列
	for i in range(5):
		nav=[]
		for cell in list(sheet.rows)[i]:
			nav.append(cell.value)
			#print(nav)
		if "学号" in nav:#!!!确保键值存在,且前后没有空格
			break
	try:
		index=nav.index("学号")
	except:
		print("Not find key!")
		return;
	#读数据
	for row in list(sheet.rows)[i:]:
		rr=[]
		for cell in row:
			rr.append(cell.value)
		if rr[index] in ex.keys():
			ex[rr[index]].extend(rr)
		else:
			ex[rr[index]]=rr

def savefile(f):
	path=os.getcwd()+'/'+f
	if(os.path.exists(path)):
		print("Error!File exists.Please delete it!")
		return;
	wb=Workbook()
	ws = wb.active  # 默认第一个sheet
	for i in ex:
		ws.append(ex[i])
	wb.save(f)


def main():
	contents=[]
	#文件名,不要路径
	files=['1.xlsx','2.xlsx','3.xlsx']
	for f in files:
		readexcel(f)
	#print(ex)
	endfile="总结.xlsx"
	print("正在保存到:"+os.getcwd()+"/"+endfile)
	savefile(endfile)

if __name__ =="__main__":
	main()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
AI 应用产品
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档