import numpy as np
import pandas as pd
import math
from docxtpl import DocxTemplate
col_order = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',
'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM',
'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE']
df = pd.read_excel(r'C:\Users\caoming\Desktop\20200914数据处理\立结项报告底表-样本数据1014.xlsx', sheet_name='正式项目结项报告')
print(df.shape)
lines = df.shape[0]
print('lines = ' + str(lines))
print(df.iloc[0][0])
for i in range(0, lines):
doc_dic = {}
doc = DocxTemplate(r'C:\Users\caoming\Desktop\20200914数据处理\模板\交付立项结项\2.2、正式项目结项报告20200923.docx')
cols = df.iloc[i]
len_cols = len(df.iloc[i])
j = 0
for j in range(0, len_cols):
if isinstance(cols[j], pd._libs.tslibs.timestamps.Timestamp):
doc_dic[col_order[j]] = str(cols[j]).split()[0]
elif isinstance(cols[j], np.int64):
doc_dic[col_order[j]] = cols[j]
elif isinstance(cols[j], float) and math.isnan(cols[j]):
doc_dic[col_order[j]] = ""
elif isinstance(cols[j], np.float64) and np.isnan(cols[j]):
doc_dic[col_order[j]] = ""
else:
doc_dic[col_order[j]] = cols[j]
doc_dic['huanhang1']=[]
doc_dic['huanhang2']=[]
doc_dic['huanhang3']=[]
doc_dic['huanhang4']=[]
doc_dic['huanhang5']=[]
xuhaos= cols[15].split('\n')
jiaofuwus = cols[16].split('\n')
chengdanrens=cols[17].split('\n')
starttimes=cols[18].split('\n')
endtimes=cols[19].split('\n')
#print(jiaofuwus)
for xuhao in xuhaos:
row1={}
row1['xuhao'] = str(xuhao)
doc_dic['huanhang1'].append(row1)
for jiaofuwu in jiaofuwus:
row2 = {}
row2['label']=jiaofuwu
doc_dic['huanhang2'].append(row2)
for chengdanren in chengdanrens:
row3 = {}
row3['chengdanren']=chengdanren
doc_dic['huanhang3'].append(row3)
for starttime in starttimes:
row4 = {}
row4['starttime']=str(starttime)
doc_dic['huanhang4'].append(row4)
for endtime in endtimes:
row5 = {}
row5['endtime']=str(endtime)
doc_dic['huanhang5'].append(row5)
print(doc_dic)
doc.render(doc_dic)
doc.save('C:\\Users\\caoming\\Desktop\\20200914数据处理\\新建文件夹\\' + '正式项目结项报告-' + cols[0].replace('\n', '') + '.docx')
导入模板