当前位置:首页 > 每日看点 > 正文内容

Python真的有大众说的那么好吗?

卡卷网10个月前 (01-17)每日看点161

运维人,python只是入门水平吧。

有天业务部门让我帮忙,需求是将一个表格里面的数千条数据按行分别导出为PDF。如果我自己一条条干,干一个礼拜都干不完。

那当然是自己想办法解决喽,查了下,python正好内嵌了工具类能处理我的需求,于是乎找到文档自己开写。

由于不熟练,连循环咋写都得查文档,不过还好大学还剩点编程底子,饶是如此,几行代码也写了一个上午。如下,有类似需求的朋友可以直接在我的基础上改一改。

xlrd类不能直接将Excel表格数据转换成PDF,所以只能先把每行数据提取出来创建成Word保存,再把word文件转换成PDF。

# _*_coding : utf-8 # @Time : 19:56 # @Author : daton # @File : {NAME} # @Project : {PROJECT_NAME} import xlrd import docx from docx.oxml.ns import qn #设置全局字体 workbook = xlrd.open_workbook(filename=r'D:\huaan.xls') #打开表格''内是文件路径,注意标点符号必须是全英文表格格式必须是.xls table = workbook.sheet_by_name(sheet_name='Sheet1')#读取全部数据 rows = table.nrows #行 path='D:\jjfl' #循环获取每行的数据 #for row in range(rows): row=0 while row<rows: doc = docx.Document() jjdm = int(table.cell_value(row,0)) doc.save(r'D:\jjfl\{}.docx'.format(jjdm)) #文件保存的位置 row+=1 row1=0 while row1 < rows: jjdm = int(table.cell_value(row1, 0)) jjmc = table.cell_value(row1, 1) tp = table.cell_type(row1, 2) jjfl = float(table.cell_value(row1, 2))#数据保留为浮点数据。 a = round(jjfl, 3) file=docx.Document(r'D:\jjfl\{}.docx'.format(jjdm)) doc=docx.Document() doc.styles['Normal'].font.name = u'宋体' doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体') doc.add_paragraph('尊敬的投资者:\n\t您购买的{}基金,产品代码{},客户维护费率为{}%,敬请周知。'.format(jjmc,jjdm,a)) doc.save(r'D:\jjfl\{}.docx'.format(jjdm)) row1 += 1 import os from docx2pdf import convert # 目录地址,将'/'替换成需要转换的目录地址就行 file_path = r'D:\jjfl' # 转换word->pdf # 查找当前目录下的全部word文件 for dirpath, dirnames, filenames in os.walk(file_path): for file in filenames: fullpath = os.path.join(dirpath, file) print('fullpath:"' + fullpath) # convert("input.docx", "output.pdf") convert(fullpath, f"{fullpath}.pdf") # 转换成pdf文件,但文件名是.docx.pdf,需要重新修改文件名 # 修改文件名 for dirpath, dirnames, filenames in os.walk(file_path): for fullpath in filenames: if '.pdf' in fullpath: fullpath_after = os.path.splitext(fullpath)[0] fullpath_after = os.path.splitext(fullpath_after)[0] fullpath_after = fullpath_after + '.pdf' fullpath_after = os.path.join(dirpath + '\\' + fullpath_after) fullpath = os.path.join(dirpath, fullpath) os.rename(fullpath, fullpath_after)

如果我精通的话,可能几分钟就写好了,实在是才疏学浅。python好不好我没资格评价,但是相比于java,c++等,在写一些脚本的时候,我更愿意使用python,更简洁,逻辑更严谨。程序无非就是懒成精了,把大量重复的工作交给电脑,还不出错,何乐而不为?

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9709.html

分享给朋友:

相关文章

戴尔科技集团创新引擎推进IT现代化的十种方式

戴尔科技集团创新引擎推进IT现代化的十种方式

       过去十年间,大大小小的企业与组织机构都在拥抱互联数字化社会。而现在,我们的工作和学习方式呈现分布式态势,正在经历更大的颠覆:家已俨然成为我们的办公和学习空...

台积电通知其中国客户,从下周开始,所有 7nm 及以下芯片出货将停止。如何看待这一行为?

台积电通知其中国客户,从下周开始,所有 7nm 及以下芯片出货将停止。如何看待这一行为?

我说美国快要没招了,你信么?这次台积电宣布停止向中国大陆客户供应7纳米及更先进AI芯片,再加上前段时间台积电对华为的制裁,我们基本可以认为,台积电在高端芯片领域,已经彻底把大陆给拉黑了,这也意味着中美芯片战已经到了最关键的时刻,一旦我们克服...

为什么这次 Mac mini 的 M4 版本价格这么低?

为什么这次 Mac mini 的 M4 版本价格这么低?

扫了一眼这里的回答,目测没几个人真买过 Macbook、Mac mini且真正当主力工作机用过。这个初始(丐版)版本的机器实际谈不上多便宜,备受热捧有几个原因。它这代产品整体做了重新设计,大幅缩减了尺寸,真正称得上 Mini 了。对比前代,...

在追求家居美学的过程中,如何选择一款电视机,使其既具备出色的音画质又能与家居装饰相得益彰?

在追求家居美学的过程中,如何选择一款电视机,使其既具备出色的音画质又能与家居装饰相得益彰?

先看照片,你就说美不美吧?我家这个40平的客厅东西放得不少,其中最提升观感的是各种灯光,在这么多灯光中,是不是第一眼视觉中心就落在了电视上?没错,因为这电视是非常特别的环景光电视,与显示器的神光同步一样,会随着画面的变化而变化不同的光效,它...

华为纯血鸿蒙,从此天下三分了吗?

华为纯血鸿蒙,从此天下三分了吗?

万众期待的纯血版 HarmonyOS NEXT 终于是端上来了,主打一个自研,从里到外,从内核到架构,都是自研。用户的激情已经被点燃,可见大家对于纯血鸿蒙的期待,但是鸿蒙系统能不能真正与安卓、iOS三分天下呢?目前来说,还为时过早。iOS和...

怎样拥有一台最便宜的服务器?

怎样拥有一台最便宜的服务器?

内容提示:主打一个 DIY + 极限白嫖 =)某宝花10块买一个“随身WiFi”,刷入Ubuntu,用SSH远程连接,但是记得一定要把外壳撬掉然后粘个散热器(哪怕是白萝卜也彳亍),否则会过热详细去酷安社区搜“随身WiFi”=========...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。