当前位置:首页 > 每日看点

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

卡卷网1年前 (2025-01-17)每日看点273

运维人,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

分享给朋友:

相关文章

为什么我感受不到 1500 元的手机比四五千的差?

我长期使用两千元左右的安卓机,一天接近8小时的重度手机使用者。 某天我突然想试试看传说中非常赛艇的苹果。狠了心,砸了钱。七千大样买了爱疯。 就这?什么辣鸡玩意。而且因为我一直更新软件,用了两年爱疯就卡了。并没有传说中的用四五年不卡。 用了这…

自媒体如何快速起步?

自媒体如何快速起步?

有两种经验,可供参考。 第一种是:现象级的爆火、爆款,这种情况捞到钱,实现财务自由的人并不多,但确实存在。只不过非要说清楚为什么这个账号可以火、可以短时间内赚到普通人一辈子赚不到的钱,他们自己也不一定能说清楚,因为赶上了风口(内外部情况)。…

报名的网课分期付款怎么退?

你在你分期付款的订单下面有客服电话,直接打电话描述一下你的问题,你可以告诉他你是被恶意绑定的,在不了解有退学条件这一说的情况下报的课程,可能遇到消费者诈骗了,不承认有退学金,说是霸王条款,诈骗消费者,你若分期了先把自动续费关了,别让自己个人…

拼多多百亿补贴买手机电脑等数码产品靠谱吗?

大家很多人都在问pdd百亿补贴购机靠谱吗? 首先声明一下,我不是pdd的人,我只是一个普普通通混迹从事pc行业的数码玩家,我只是在评论区看到很多人都在无脑推百亿补贴,特地发一条怗子来说明一下这个东西。此怡不存在偏向引导,此站仅站在我个人角度…

用wordpress做这个网站的话,需要用到哪些插件?

一个完整成型的B2C电商独立站,如果用wordpress+woocommerce搭建,最终会用上20来个插件,而且是在经过慎重筛选,剔除不必要的插件的情况下,别问我为什么。 wordpress建站,插件安装多了,速度会变慢,这是常识,但需要…

在 Kubernetes 中,Service 的实现原理是什么,它是如何实现服务发现的?

行,问的这个问题挺有意思,Kubernetes 里 Service 是怎么实现的,服务发现是怎么回事,咱就直说了。这事儿看起来挺玄乎,但掰开揉碎了讲,也就那么回事。你得把这事儿想得简单点,别一上来就被啥术语吓住了——其实全是些搬砖的套路。…

发表评论

访客

看不清,换一张

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