ZJUEVA-Reimburse-Downloader/main.py

43 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from pandas import read_excel
from requests import get
from sys import exit
import os
def download(url, pic_path_name):
format_file = url.split(".")[-1].lower()
if format_file not in ["png", "pdf", "jpg", "jpeg"]:
input("文件格式出现错误,请联系程序开发者!")
exit()
result = get(url)
file = pic_path_name + "." + format_file
with open(file, "wb") as f:
f.write(result.content)
if __name__ == "__main__":
dir_path = input("请输入 .xls / .xlsx 文件所在文件夹的绝对或相对路径:")
for root, _, files in os.walk(dir_path):
for file in files:
if file.lower().endswith('.xls') or file.lower().endswith('.xlsx'):
excel_path = os.path.join(root, file)
df = read_excel(excel_path)
print("正在处理 " + file + " ...")
dir_name = file.split('.')[0]
os.mkdir(dir_name)
for one in range(len(df)):
path_name = './' + dir_name + '/' + df["3、购买日期"][one] + "" + str(df["4、金额"][one]) + "" + df["5、物品"][one] + " " + df["1、您的姓名"][one]
if not os.path.exists(path_name):
os.mkdir(path_name)
# 处理购买记录截图
buy_prt_sc = df["6、购买记录截图"][one]
if buy_prt_sc != "(跳过)":
download(buy_prt_sc, "./" + path_name + "/购买记录截图")
# 处理支付记录截图
pay_prt_sc = df["7、支付记录截图"][one]
if pay_prt_sc != "(跳过)":
download(pay_prt_sc, "./" + path_name + "/支付记录截图")
# 处理发票图片
pdf = df["9、发票图片"][one]
if pdf != "(空)":
download(pdf, "./" + path_name + "/发票图片")
print(f"共计{len(df)}, 已完成{one + 1}")
print(file + " 处理完毕!")