新手上路:探秘我的首次测评之旅III
本帖最后由 Ming-- 于 2024-6-24 15:49 编辑大家好,我又回来了。我学了一段时间参加的《趣味微项目,轻松学Python》,今天勉强能写个python小工具(非常简陋),大神可能5分钟就写完了,我花了整整一天时间。
ps:工作中定期要去特定的网站下载ETC发票,网站根据车牌号下载发票,但公司归档需要按收票公司分类,发票数量比较多,如果每个文件都点开看就太费时间了。所以就用仅有的一点点知识,写了一个pdf发票重命名程序。下面分享一下代码,请大神多多指教:
```python
import pdfplumber
import os
def get_first_five_lines(file_path):
with pdfplumber.open(file_path) as pdf:
for page in pdf.pages:
text = page.extract_text().replace(' ', '\n').split('\n')# 提取到的列表,根据下标自定义取值即可
invoice = text.replace('发票号码:', '')# 发票号码
name = text.replace('名称:', '') # 名称
money = text.replace('(小写)', '') # 金额
f_name = f'{name}-{invoice}-{money}'
return f_name
def batch_rename(directory):
for filename in os.listdir(directory):
if filename.endswith(".pdf"):
filepath = os.path.join(directory, filename)
new_name = get_first_five_lines(filepath) + ".pdf"
new_filepath = os.path.join(directory, new_name)
counter = 1
while os.path.exists(new_filepath):
new_name = f"{get_first_five_lines(filepath)}_{counter}.pdf"
new_filepath = os.path.join(directory, new_name)
counter += 1
os.rename(filepath, new_filepath)
print(f"Renamed '{filename}' to '{new_name}'")
# 指定需要批量重命名的目录
directory_path = input(r'请输入文件夹路径')
batch_rename(directory_path)
```
:Onion-109:编辑页面有缩进,显示没有缩进,不知道为啥!
各位大神,正确做法是不是用这种下标的方式处理发票的,如果不是帮忙指引一下,谢谢
<p>哈哈,把Python都用在了这个地方,不错!!</p>
<p>能用到实际就是好的,学的目的就是用 </p>
<p>学python,有前途。。。 爱python,好好用。。</p>
秦天qintian0303 发表于 2024-6-25 08:50
能用到实际就是好的,学的目的就是用
<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>
wangerxian 发表于 2024-6-24 17:27
哈哈,把Python都用在了这个地方,不错!!
<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>
13620203064 发表于 2024-6-25 10:37
学python,有前途。。。 爱python,好好用。。
<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>
<p>有意思,爬ETC发票,学到了!</p>
页:
[1]