File size: 7,158 Bytes
5b2093c 39d7979 5b2093c 9e59a38 a166497 9e59a38 5b2093c 39d7979 5b2093c 39d7979 79f27d2 5b2093c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
import os
import pandas as pd
from docx import Document
from docx.shared import Pt
from docx.oxml.ns import qn
def doc_process(input_path, output_path):
qsz_folder = os.path.join(input_path, '起诉状')
wts_folder = os.path.join(input_path, '委托书')
info_path = os.path.join(input_path, 'info.xlsx')
qsz_output_shex = os.path.join(output_path, '起诉状_上海耳序')
qsz_output_fjzy = os.path.join(output_path, '起诉状_福建智云')
qsz_output_hnsx = os.path.join(output_path, '起诉状_海南申信')
wts_output_shex = os.path.join(output_path, '委托书_上海耳序')
wts_output_fjzy = os.path.join(output_path, '委托书_福建智云')
wts_output_hnsx = os.path.join(output_path, '委托书_海南申信')
phone_wanglei = '18916935832'
phone_zhangliren = '13817213203'
qsz_file_list = os.listdir(qsz_folder)
wts_file_list = os.listdir(wts_folder)
if not os.path.exists(os.path.join(output_path)):
os.mkdir(os.path.join(output_path))
if not os.path.exists(qsz_output_shex):
os.mkdir(qsz_output_shex)
if not os.path.exists(qsz_output_fjzy):
os.mkdir(qsz_output_fjzy)
if not os.path.exists(qsz_output_hnsx):
os.mkdir(qsz_output_hnsx)
if not os.path.exists(wts_output_shex):
os.mkdir(wts_output_shex)
if not os.path.exists(wts_output_fjzy):
os.mkdir(wts_output_fjzy)
if not os.path.exists(wts_output_hnsx):
os.mkdir(wts_output_hnsx)
df = pd.read_excel(info_path)
num_shex = 0
num_fjzy = 0
num_hnsx = 0
num_other_lawyer = 0
# 改管辖法院,并存到对应融担公司的目录中
for qsz_file in qsz_file_list:
# 读取起诉状文件
qsz_path = os.path.join(qsz_folder, qsz_file)
# 加载Docx文件
doc = Document(qsz_path)
# 从文件名获取合同号
contract_id = qsz_file.split('_')[1]
# 从表格中找到对应合同号的管辖法院
court = df[df['合同号']==contract_id]['管辖法院'].tolist()[0]
for p in doc.paragraphs:
if '人民法院' in p.text:
# 将正确的管辖法院更新到Docx中(加run设置字体)
p.text = ''
run = p.add_run(court)
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
# 调整字体大小
font = p.style.font
font.size = Pt(14)
# 判断担保公司
if '福建智云' in df[df['合同号']==contract_id]['融担公司'].tolist()[0]:
output_folder = qsz_output_fjzy
num_fjzy += 1
elif '海南申信' in df[df['合同号']==contract_id]['融担公司'].tolist()[0]:
output_folder = qsz_output_hnsx
num_hnsx += 1
else:
output_folder = qsz_output_shex
num_shex += 1
# 保存文件到对应目录
output_path = os.path.join(output_folder, qsz_file)
doc.save(output_path)
# 改律师名字和电话,并存到对应融担公司的目录中
for wts_file in wts_file_list:
# 读取委托书文件
wts_path = os.path.join(wts_folder, wts_file)
# 加载Docx文件
doc = Document(wts_path)
# 从文件名获取合同号
contract_id = wts_file.split('_')[1]
# 从表格中找到对应合同号的管辖法院
lawyer = df[df['合同号']==contract_id]['承办律师'].tolist()[0]
user = df[df['合同号']==contract_id]['用户姓名'].tolist()[0]
# 替换律师和电话
if lawyer != '王磊':
num_other_lawyer += 1
for p in doc.paragraphs:
if '王磊' in p.text and user not in p.text:
text_new_name = p.text.replace('王磊', '张立人')
p.text = ''
# 加run用于修改字体
run = p.add_run(text_new_name)
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
# 调整字体
font = p.style.font
font.size = Pt(14)
if phone_wanglei in p.text:
text_new_phone = p.text.replace(phone_wanglei, phone_zhangliren)
p.text = ''
# 加run用于修改字体
run = p.add_run(text_new_phone)
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
# 调整字体
font = p.style.font
font.size = Pt(14)
if '王磊' in p.text and user in p.text:
# 现委托 王磊 在我单位与 沈黎宾 追偿权纠纷案件中,作为我单位的委托代理人,代理权限如下:
p.text = ''
run = p.add_run('现委托')
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
run = p.add_run(' 张立人 ')
run.font.underline = True
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
run = p.add_run('在我单位与')
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
run = p.add_run(f' {user} ')
run.font.underline = True
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
run = p.add_run('追偿权纠纷案件中,作为我单位的委托代理人,代理权限如下:')
run.font.name = "Arial"
run._element.rPr.rFonts.set(qn('w:eastAsia'),'宋体')
# 判断担保公司
if '福建智云' in df[df['合同号']==contract_id]['融担公司'].tolist()[0]:
output_folder = wts_output_fjzy
elif '海南申信' in df[df['合同号']==contract_id]['融担公司'].tolist()[0]:
output_folder = wts_output_hnsx
else:
output_folder = wts_output_shex
# 保存文件到对应目录
output_path = os.path.join(output_folder, wts_file)
doc.save(output_path)
total_have = len(qsz_file_list)
total_done = num_shex+num_fjzy+num_hnsx
result = f'共 {total_have} 条\n完成 {total_done} 条\n\n上海耳序:共 {num_shex} 条 | 福建智云:共 {num_fjzy} 条 | 海南申信:共 {num_hnsx} 条\n\n \
王磊律师:共 {total_have-num_other_lawyer} 条 | 张立人律师:共 {num_other_lawyer} 条\n\n所有文档已完成自动编辑!'
return result
if __name__ == '__main__':
doc_process() |