рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
ред
рдкрд┐рдЫрд▓реА
рдкреЛрд╕реНрдЯ рдореЗрдВ , рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЕрдЬрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рдмреНрдж рдореЗрдВ рдПрдХ рдХреНрд╡реЗрд░реА рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕ рдмрд╛рд░ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдПрдХреНрд╕реЗрд▓ рдЯреЗрдмрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрдИ рд╢рдмреНрдж рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдХреИрд╕реЗ рднрд░реЗрдВред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдПрдХ рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ред рдЖрдЗрдП рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдпрд╛ рд░реЗрдбреА-рдореЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

рдЕрдм рдЪрд▓реЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВред
рдЪреВрдВрдХрд┐ рд╣рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
import openpyxl
рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдиреЗ рдФрд░ рд▓рд╛рдЗрди рджреНрд╡рд╛рд░рд╛ рд╕рднреА рдбреЗрдЯрд╛ рд▓рд╛рдЗрди рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
test=[] wb = openpyxl.load_workbook('zaprosi.xlsx') sheet=wb.get_active_sheet() for row in sheet['B3':'F7']: for cellObj in row: if cellObj.value==None or cellObj.value==" ": continue
рд╣рдордиреЗ рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдмрдирд╛рдИ, рдЬрд╣рд╛рдВ рд╣рдо рднрд╡рд┐рд╖реНрдп рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЬреЛрдбрд╝рдирд╛ рдХреЗрд╡рд▓ рддрднреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╕реЗрд▓ рдореЗрдВ рдХреЛрдИ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВ (рд╢реВрдиреНрдп рдирд╣реАрдВ)ред
рдХрд┐рдП рдЧрдП рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХрддреНрд░ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЛ рд╢рдмреНрдж рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗ:
doc = DocxTemplate(".docx") context = { 'emitent' : test[0],'address1' : test[1],'' : test[2],'_' : test[3],'director' : test[4] } doc.render(context) doc.save('-final.docx')
рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдкреНрдд рд╢рдмреНрдж рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред рдХреЗрд╡рд▓ рдпрд╣рд╛рдБ рдпрд╣ рдЕрдХреЗрд▓рд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ-рдлрд╛рдЗрдирд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП?
рдЪрд▓реЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рд░ рдмрд╛рд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдореЛрдВ рд╕реЗ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:
doc.save(test[x]+'.docx')
рдЕрдм рд╕рд╣реЗрдЬреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдиреБрд░реЛрдз рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рдХрдВрдкрдиреА рдХрд╛ рдирд╛рдо рд╣реЛрдЧрд╛ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ:

рдпрд╣ рддреНрд░реБрдЯрд┐ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдХрдВрдкрдиреА рдХреЗ рдирд╛рдо рдореЗрдВ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрди рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХреНрд╕реЗрд▓ рдЯреЗрдмрд▓ рд╕реЗ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╢рдмреНрдж рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдВрдкрдиреА-1.docx рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╢реЗрд╖ рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ "рдбреБрдкреНрд▓рд┐рдХреЗрдЯ" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рднреА рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдПрдХрддреНрд░рд┐рдд рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдЪрдХреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ:
x=0 while x<len(test): doc = DocxTemplate(".docx") context = { 'emitent' : test[x],'address1' : test[x+1],'' : test[x+2],'_' : test[x+3],'director' : test[x+4] } doc.render(context) doc.save(test[x]+'.docx') x+=5
рдЪрдХреНрд░ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдХрдВрдкрдиреА рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХреЙрд▓рдо рдХреЗ рдирд╛рдо рдкрд░ "рдЬрдВрдк" рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╕рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рд╢рдмреНрдж рдлрд╝рд╛рдЗрд▓ рдмрдЪ рдЬрд╛рдПред
рдХрд╛рд░реНрдпрдХреНрд░рдо рддреИрдпрд╛рд░ рд╣реИ! рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ рдЬреЛ рд╕реЗрд╡рд╛ рдореЗрдВ рд╣реИрдВред
рдпрд╣рд╛рдВ рд╕рдорд╛рдкреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ ред
рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕реЗрд▓ рддрд╛рд▓рд┐рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ -
рдпрд╣рд╛рдВ ред
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рдмреНрдж
рдпрд╣рд╛рдБ рд╣реИ ред
--- рдЕрдкрдбреЗрдЯ --- резрез/реж/201/реирежрезреп
ред
рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ :
- рд▓рд╛рднрд╛рд░реНрдереА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╢рдмреНрдж рдЯреЗрдореНрдкрд▓реЗрдЯ;
- рд╢рдмреНрдж-рдЕрдиреБрд░реЛрдз рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдлрд╝реАрд▓реНрдб рдХреА рд╕рдВрдЦреНрдпрд╛ (рдирд┐рд░реНрджреЗрд╢рдХ рдХреА рд╕реНрдерд┐рддрд┐) рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ;
- рдЕрдм рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЖрдк рдЙрджреНрдзрд░рдг рдХреЗ рд╕рд╛рде рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЗ рдирд╛рдо рднрд░ рд╕рдХрддреЗ рд╣реИрдВ,
рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрдЪ рдЬрд╛рдПрдЧрд╛;
- рдЬрдм рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо "рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ" рдмрдЪрд╛рддрд╛ рд╣реИ: рдХрдВрдкрдиреА-рдирд┐рджреЗрд╢рдХ, рдЬреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд╕реНрдкрд╖реНрдЯрддрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ;
- рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп, рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд╣реЗрдЬрддрд╛ рд╣реИ: рдкреНрд░рддрд┐рднрд╛рдЧреА-рдирд┐рд░реНрджреЗрд╢рдХ-рдЬрд┐рд╕рдиреЗ рдЙрддреНрддрд░ рджрд┐рдпрд╛ (рдЪреВрдВрдХрд┐ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐рднрд╛рдЧреА рдПрдХ рд╕рд╛рде рдХрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рдЬрд╡рд╛рдм рджреЗ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рджреЛрд╣рд░рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ)
рд▓рд╛рднрд╛рд░реНрдереА рдЕрдиреБрд░реЛрдз рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ -
рдпрд╣рд╛рдВрдЙрддреНрддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ -
рдпрд╣рд╛рдБрдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХреНрд╕реЗрд▓ рд╕реНрдкреНрд░реЗрдбрд╢реАрдЯ рдбрд╛рдЙрдирд▓реЛрдб
рдХрд░реЗрдВ -
рдпрд╣рд╛рдВрд▓рд╛рднрд╛рд░реНрдереА рдЕрдиреБрд░реЛрдз рд╢рдмреНрдж рдЯреЗрдореНрдкрд▓реЗрдЯ -
рдпрд╣рд╛рдБрд╢рдмреНрдж рдЙрддреНрддрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ -
рдпрд╣рд╛рдБ