Ming-- 发表于 2024-6-24 15:42

新手上路:探秘我的首次测评之旅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:编辑页面有缩进,显示没有缩进,不知道为啥!

各位大神,正确做法是不是用这种下标的方式处理发票的,如果不是帮忙指引一下,谢谢

wangerxian 发表于 2024-6-24 17:27

<p>哈哈,把Python都用在了这个地方,不错!!</p>

秦天qintian0303 发表于 2024-6-25 08:50

<p>能用到实际就是好的,学的目的就是用&nbsp;&nbsp;</p>

13620203064 发表于 2024-6-25 10:37

<p>学python,有前途。。。 爱python,好好用。。</p>

Ming-- 发表于 2024-6-25 11:03

秦天qintian0303 发表于 2024-6-25 08:50
能用到实际就是好的,学的目的就是用&nbsp;&nbsp;

<p><img height="48" src="https://bbs.eeworld.com.cn/static/editor/plugins/hkemoji/sticker/facebook/congra.gif" width="48" /></p>

Ming-- 发表于 2024-6-25 11:04

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>

Ming-- 发表于 2024-6-25 11:04

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>

freebsder 发表于 2024-6-25 11:51

<p>有意思,爬ETC发票,学到了!</p>
页: [1]
查看完整版本: 新手上路:探秘我的首次测评之旅III