首页 > 编程语言 >python将excel中的数据写入固定的word格式中

python将excel中的数据写入固定的word格式中

时间:2023-06-29 14:01:07浏览次数:60  
标签:table2 word python text ll excel cell run table

from openpyxl import load_workbook
from docx import Document
import datetime
from datetime import datetime as datet

wb = load_workbook("收集表.xlsx")
ws = wb['收集表']
from docx.shared import Inches, Cm

#读取表中某行数据
ll = []
for i in ws.columns:
    # print(i[1].value)
    ll.append(i[1].value)


print(ll)


doc = Document('模版.docx')
tables = doc.tables
table = tables[0]
table1 = tables[1]
table2 = tables[2]
table3 = tables[3]
table4 = tables[4]

a, b, c = datet.now().strftime("%Y-%m-%d %H:%M:%S").split()[0].split('-')
# print(a,b,c)
all_paragraphs = doc.paragraphs
for paragraphs in all_paragraphs:
    for run in paragraphs.runs:
        run.text = run.text.replace('2088', a)
        run.text = run.text.replace('aqee', b)
        run.text = run.text.replace('ad', c)


table.cell(0, 1).text = ll[4]
table.cell(0, 3).text = ll[6]
table.cell(0, 5).text = ll[15]
old1 = str(ll[10])
old2 = old1.split()
table.cell(1, 1).text = old2[0]
table.cell(1, 3).text = ll[12]
table.cell(1, 5).text = ll[13]
table.cell(2, 1).text = ll[5]
table.cell(3, 1).text = ll[9]
table.cell(4, 1).text = ll[14]
#
table1.cell(0, 1).text = ll[17]
if ll[19]  != None:
    table1.cell(0, 3).text = ll[19]  #
table1.cell(0, 5).text = ll[18]
table1.cell(1, 1).text = ll[20]
if ll[22]  != None:
    table1.cell(1, 3).text = ll[22]  #
table1.cell(1, 5).text = ll[21]
#
table2.cell(0, 1).text = ll[24]
table2.cell(2, 0).text = ll[25]
table2.cell(2, 1).text = ll[26]
table2.cell(2, 2).text = ll[27]
table2.cell(2, 3).text = ll[28]
table2.cell(2, 4).text = ll[29]
table2.cell(2, 5).text = ll[30]
table2.cell(2, 6).text = ll[31]
table2.cell(2, 7).text = ll[32]
table2.cell(2, 8).text = ll[33]
if ll[34]  != None:
    table2.cell(2, 9).text = ll[34]
table2.cell(2, 10).text = ll[35]



table3.cell(0, 1).text = ll[9]
table3.cell(1, 1).text = ll[5]
    # run = table.cell(1, 6).paragraphs[0].add_run()
    # picture = run.add_picture(f'img/{list[0]}.jpg')
    # picture.height = Cm(5)
    # picture.width = Cm(3)

table4.cell(0, 1).text = ll[36]
table4.cell(1, 1).text = ll[8]




doc.save(f'print/{ll[4]}.docx')

print('已生成文档')

标签:table2,word,python,text,ll,excel,cell,run,table
From: https://www.cnblogs.com/wdyjx/p/17514033.html

相关文章

  • Python控制鼠标操作神器
    我们以前讲过怎样使用Python在浏览器中实现页面自动化操作,不管用哪种方式实现,都是通过定位页面中的元素来进行相应的操作。今天我们来聊一聊如何在桌面实现自动化操作。与浏览器页面自动化操作类似,桌面自动化操作也是需要定位鼠标在桌面的位置,然后根据定位的位置执行对应的操作。......
  • 利用python将数据写入CSV文件中
    利用python将数据写入CSV文件中全部代码如下:importcsv#1.创建文件对象f=open('cav_file.csv','w',encoding='utf-8',newline="")#2.基于文件对象构建csv写入对象csv_write=csv.writer(f)#3.构建列表头csv_write.writerow(['学号',......
  • 关于python刷题的语法要点
    赋值lista,bb=a,itisjustareferenceassignment.a改变,b也改变b=a[:],itiscopy.a改变,b不变b=a+[4]a[::]里::是一种operater,默认是a[::1],1代表从头到尾的取间隔为1的元素组成新的list。所以a[::-1],就是reversed,还可以有a[::-2]排序listxx.sort()ory=sor......
  • mysql: [Warning] Using a password on the command line interface can be insecure.
      https://zhuanlan.zhihu.com/p/542166965 ......
  • Java or Python?测试开发工程师如何选择合适的编程语言?
    很多测试开发工程师尤其是刚入行的同学对编程语言和技术栈选择问题特别关注,毕竟掌握一门编程语言要花不少时间成本,也直接关系到未来的面试和就业(不同企业/项目对技术栈要求也不一样),根据自身情况做一个相对正确的选择确实要比盲目投入更明智也更高效。目前最常见的情况是纠结选择Jav......
  • CSS文字换行之word-wrap和word-break的区别
    CSS文字换行之word-wrap和word-break的区别word-wrap:break-word;word-break:break-all;这两种都可以,区别在于英文场景中,当一个英文单词的长度超过了父级容器长度时,word-wrap:break-word没什么用,word-break:break-all会强制换行,使单词断开。......
  • python题目:使用python将指定字符串如:"aabbc"中的"ab"串删除,删除过后的数据为:c【杭州多
    定义一个函数,在函数体内完成以下逻辑:使用python将指定字符串如:"aabbc"中的"ab"串删除,删除过后的数据为:cimportsyssys.setrecursionlimit(100000)#设置递归的深度为10万defdel1(str1):#str1='aabbc'while"ab"notinstr1:print(str1)exi......
  • python使用隧道代理做爬虫模版
    以下是一个使用隧道代理进行爬虫的Python模板:```pythonimportrequests#设置代理服务器proxy_host="your_proxy_host"proxy_port="your_proxy_port"proxy_username="your_proxy_username"proxy_password="your_proxy_password"#设置目标网址target_url=......
  • Excel将插入的图片在单元格居中代码
    一、选中需要居中的图片(ALT+A全选) 二、按ALT+F11打开MicrosoftVisualBasicforApplications窗口:1、点击:插入-模块: 2、输入代码:Subdq()DimshpAsShapeForEachshpInActiveSheet.Shapesshp.Left=(shp.TopLeftCell.Width-shp.Width)/2+sh......
  • Python学习笔记
    Python学习笔记2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加......