Python自动化 写入表格与图片
继续上一节的内容基础上学习:https://www.cnblogs.com/Crown-V/articles/16747073.html
#导入模块 #首先导入文本对象模块 from docx import Document from docx.shared import Pt,RGBColor #导入磅的单位,颜色 #1.创建一个文档对象 document = Document() #新建文档对象 #Document("xx.docx") 读取现有的word建立的文本对象 #2.写入内容(文本、图像) #写入标题 document.add_heading("科技V领",level=4) #添加标题,level为0-9设置标题级别 #写入内容 P1 = document.add_paragraph('明星,(拼音míng xīng,注音ㄇㄧㄥˊ ㄒㄧㄥ)汉语词语,古书上指金星;旧时指交际场中有名的女子;现指在某个领域内有一定影响力的人物。泛指有名的演员、歌手、艺人、运动员等。') #在段落之前写些内容 P1.insert_paragraph_before('!!在段落之前插入的内容') #设置段落的格式 format = P1.paragraph_format #创建P1段落的格式对象 #左右缩进 format.left_indent = Pt(20) #左侧缩进20磅 format.right_indent = Pt(20) #右侧缩进20磅 #首行缩进 format.first_line_indent = Pt(20) #行间距 format.line_spacing=1.5 #文本内容追加 run = P1.add_run("追加内容") #设置run中字体和字号、文字颜色等 ##字体大小 run.font.size =Pt(12) run.font.name = '微软雅黑' run.font.color.rgb = RGBColor(242,4,4) #追加 run1 = P1.add_run("追加内容1") ##加粗、下划线、斜体 run1.bold = True run1.font.underline =True run1.font.italic = True #=================================================== #插入文图片 document.add_picture('mm.bmp',Pt(30),Pt(30)) #插入表格 table = document.add_table(rows=1,cols=3) #1行3列 #表格头 header_cells = table.rows[0].cells header_cells[0].text = '月份' header_cells[1].text = '预期销售额' header_cells[2].text = '实际销售额' #数据 data = ( ['一月份',500,600], ['二月份',900,600], ['三月份',1000,600], ) #遍历添加表格与数据 for item in data: rows_cells = table.add_row().cells #表格添加一行 #每行每个单元格添加数据 rows_cells[0].text = item[0] rows_cells[1].text = str(item[1]) rows_cells[2].text = str(item[2]) #获取word中的表格 print(len(document.tables[0].rows)) #打印表格的总行数 print(len(document.tables[0].columns)) #打印表格的总列数 #获取表格的单元格 print(document.tables[0].cell(0,2).text) #获取单元格的内容 #3.保存文档 document.save("info.docx")
插入图片
#插入图片 document.add_picture('mm.bmp',Pt(30),Pt(30))
插入图片使用文档的add_picture()参数为图片地址、宽度和高度
插入表格并赋值
#插入表格 table = document.add_table(rows=1,cols=3) #1行3列 #表格头 header_cells = table.rows[0].cells header_cells[0].text = '月份' header_cells[1].text = '预期销售额' header_cells[2].text = '实际销售额'
使用for循环将数据添加到表格中
#数据 data = ( ['一月份',500,600], ['二月份',900,600], ['三月份',1000,600], ) #遍历添加表格与数据 for item in data: rows_cells = table.add_row().cells #表格添加一行 #每行每个单元格添加数据 rows_cells[0].text = item[0] rows_cells[1].text = str(item[1]) rows_cells[2].text = str(item[2])
获取word中的表格以及内容
#获取word中的表格 print(len(document.tables[0].rows)) #打印表格的总行数 print(len(document.tables[0].columns)) #打印表格的总列数 #获取表格的单元格 print(document.tables[0].cell(0,2).text) #获取单元格的内容
    M54

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号