找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 349|回复: 0

[项目代码] 发票合同20.

[复制链接]

492

主题

7万

元宝

77万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
770449
发表于 2024-11-25 19:25:03 | 显示全部楼层 |阅读模式
  1. import pdfplumber,os
  2. from openpyxl import Workbook
  3. from datetime import datetime

  4. # path = r'D:\发票'
  5. path = input('file_path:')
  6. wenjian = Workbook()  # 创建存放发票信息的文件
  7. D = wenjian.active
  8. D.column_dimensions['A'].width = 40
  9. D.column_dimensions['B'].width = 20
  10. D.column_dimensions['C'].width = 30
  11. D.column_dimensions['D'].width = 40
  12. D.column_dimensions['E'].width = 20
  13. title = ["开票号码","开票日期", "买方信息","卖方信息","价税合计" ]  # 先把要提取内容的抬头写入单元格
  14. for h in range(1, 6):
  15.     D.cell(1, h, title[h - 1])

  16. now = datetime.now()
  17. nt = str(now)[11:19]
  18. file_houzhui = nt.replace(':','')
  19. # print(file_houzhui)


  20. i = 2

  21. list = []
  22. files = os.listdir(path)
  23. print(files)
  24. for file in files:
  25.     if file.endswith('pdf'):

  26.         # print(path+'\\'+file)
  27.         with pdfplumber.open(path+'\\'+file) as pdf:
  28.             page = pdf.pages[0]
  29.             text = page.extract_text()
  30.             # print(text)
  31.             xuhao = text.split('发票号码:')[1].split()[0]
  32.             # print(xuhao)
  33.             riqi = text.split('开票日期:')[1].split()[0]
  34.             # print(type(riqi))
  35.             riqi = datetime.strptime(riqi, "%Y年%m月%d日")
  36.             # riqi = riqi.strftime('%Y-%m-%d')
  37.             # print(type(riqi))
  38.             goumai = text.split('购 名称:')[1].split()[0]
  39.             # print(goumai)
  40.             maijia = text.split('销 名称:')[1].split()[0]
  41.             # print(maijia)
  42.             total = text.split('(小写)¥')[1].split()[0]
  43.             total = float(total)
  44.             # print(total)

  45.             wenjian.active.cell(i,1,xuhao)
  46.             wenjian.active.cell(i,2,riqi)
  47.             wenjian.active.cell(i,3,goumai)
  48.             wenjian.active.cell(i,4,maijia)
  49.             wenjian.active.cell(i,5,total)
  50.             # print(list)
  51.             i = i +1
  52.     wenjian.save(f'{path}\\发票-{file_houzhui}.xlsx')
复制代码
  1. import pdfplumber,os
  2. from openpyxl import Workbook
  3. from datetime import datetime

  4. path = input('file_path:')
  5. wenjian = Workbook()  # 创建存放信息的文件
  6. D = wenjian.active
  7. D.column_dimensions['A'].width = 30
  8. D.column_dimensions['B'].width = 30
  9. D.column_dimensions['C'].width = 20
  10. D.column_dimensions['D'].width = 40
  11. D.column_dimensions['E'].width = 20
  12. title = ["甲方","乙方", "金额" ]  # 先把要提取内容的抬头写入单元格
  13. for h in range(1, 4):
  14.     D.cell(1, h, title[h - 1])

  15. i = 2
  16. now = datetime.now()
  17. nt = str(now)[11:19]
  18. file_houzhui = nt.replace(':','')

  19. files = os.listdir(path)
  20. for file in files:
  21.     if file.endswith('pdf'):

  22.         print(path+file)
  23.         with pdfplumber.open(path+'\\'+file) as pdf:
  24.             page = pdf.pages[1]
  25.             text = page.extract_text()
  26.             print(text)
  27.             print('---'*20)
  28.             jiafang = text.split('下简称甲方):')[1].split()[0]
  29.             print(jiafang)
  30.             yifang = text.split('简称乙方):')[1].split()[0]
  31.             print(yifang)
  32.             total = text.split('合计 ')[1].split()[0]
  33.             print(total)
  34.             total= float(total)
  35.             wenjian.active.cell(i,1,jiafang)
  36.             wenjian.active.cell(i,2,yifang)
  37.             wenjian.active.cell(i,3,total)

  38.             i = i +1
  39. wenjian.save(f'{path}\\合同-{file_houzhui}.xlsx')
复制代码



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-12-31 01:40 , Processed in 0.062462 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表