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

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

卡卷网7个月前 (01-17)每日看点127

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

分享给朋友:

相关文章

有什么音乐软件可以全部免费下载歌曲?

有什么音乐软件可以全部免费下载歌曲?

作为音乐发烧友,我几乎把市面上所有的发烧碟、试音碟,全都给收藏,下载下来了!音质都是无损的,品质特别高,有5.1环绕的、有DTS的、有中文的、有英文的。大家可以看看这个音乐目录,大概有30万张专辑。有需要下载软件的朋友,可以双击屏幕,然后搓...

需要做一个微信小程序项目,大公司价格太高怎么办?

需要做一个微信小程序项目,大公司价格太高怎么办?

一个小程序制作开发多少钱构建一个微信小程序大概需要花费多少资金? 一、自主开发如果选择自主开发,这里面门道可不少。微信小程序认证费用: 300 /年域名费用: 30 - 80 /年服务器费用: 600 - 3000 /年这么一算,扣除人力成...

是什么让你抛弃了 Windows 而转向 Mac?

是什么让你抛弃了 Windows 而转向 Mac?

别的不说,这玩意儿是真抗造啊,我这2012年买的MacBook Pro,依然在用……这台电脑我博士最后两年用来写代码(只写不运行,运行要上集群)和写论文,工作之后就变成生活和娱乐了,因为我一直用架子和外接键盘(颈椎不好)所以电脑看起来很新,...

我爸讽刺我,写个破代码一年才十几万,他在工地带50个人,让我回去跟他干,写代码没出路,我该怎么选择?

我跟你一样的情况,本人现身说法,千万不要跟你爸干,我就是反面教材,现在想回去都回不去了,快十年没写代码了,再就是岁数大了,38岁了,35岁以上的码农根本就没公司愿意要,而且会受歧视。工程不好干,首先就是不合法,在法律层面,根本就没有包工头的...

计算机专业不干互联网不热爱技术,还能转行干什么?

转行的思路,无非也就是那几个。我们顺着每个思路,一路捋一遍,基本上,大致可行的方向,也就有了。一、跟对口职业和岗位业务链条相邻的职业和岗位计算机专业如果找到了对口的技术岗位,跟技术工作联系最紧密的岗位是什么?产品经理。当然,大多数产品经理也...

Redmi 为什么可以把性价比做得那么高?

一位修手机的老大哥曾经跟我说过,红米1那个手机,除了处理器还凑活,其余零部件,就是市面上山寨机那种。其实红米性价比并不算极致,而且一直都有竞争者,从原来的群魔乱舞,到后来的荣耀,魅蓝,一加,再到现在的IQOO和realme。红米的方法也很简...

发表评论

访客

看不清,换一张

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