word里面有2张表,需要找到第二张表,并写入execl中:

代码如下:

#coding:utf-8
import os
from docx import Document
import win32com
from win32com.client import Dispatch, constants def parse_docx(f,title):
d = Document(f)
for t in d.tables:
'''获取需要的表'''
tbTitle = t.cell(0, 0).text
if title == tbTitle:
tableInfo = []
columnLen = len(t.columns)
rowLen = len(t.rows)
for i in range(0,columnLen):
tmp = []
for row in t.rows:
tmp.append(row.cells[i].text)
#删除第一个元素->表名
del(tmp[0])
tableInfo.append(tmp)
#返回的后两个参数表示tableInfo表的行数和列数
return [tbTitle,tableInfo,rowLen-1,columnLen]
return None def writeExecl(fileName,sheet,tableInfo):
excel = win32com.client.Dispatch('Excel.Application')
excel.Visible=0
excel.DisplayAlerts=0
#对传入文件名的处理
if fileName:
if os.path.exists(fileName):
workbook = excel.Workbooks.Open(fileName)
else:
workbook = excel.Workbooks.Add()
workbook.SaveAs(fileName)
else:
workbook = excel.Workbooks.Add() try:
sht = workbook.Worksheets(sheet)
except:
sheetNew = workbook.Worksheets.Add()
sheetNew.Name =sheet
sheetNew.Activate()
sht = workbook.Worksheets(sheet)
#execl表格是从1开始的
sht.Cells(1, 1).Value = tableInfo[0]
#把tableInfo看作是一行数据,依次赋值
for i in range(0,tableInfo[3]):
for j in range(0,tableInfo[2]):
sht.Cells(j+2, i+1).Value = tableInfo[1][i][j] workbook.Save()
excel.Application.Quit() if __name__ == "__main__":
docxFile = "123.docx"
execlFile = "roro.xlsx"
sheet = "roro" tableName = "内科"
#读取word中tableName的内容
tableInfo = parse_docx(docxFile,tableName) #处理execl
writeExecl(execlFile,sheet,tableInfo)

运行后生成文件 roro.xlsx,内容如下:

使用python读取word,写入execl的更多相关文章

  1. python读取与写入csv,txt格式文件

    python读取与写入csv,txt格式文件 在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中.将csv文件中的数据直接读取为dict类型和DataFrame是非常方便也很 ...

  2. 使用python读取word

    使用python读取word 官网:https://python-docx.readthedocs.io/en/latest/ 示例:https://blog.csdn.net/u010911997/ ...

  3. Python读取word文档内容

    1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...

  4. Python读取word文档(python-docx包)

    最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...

  5. python读取word文档

    周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单. 通过搜索,确实搜到了一个python操作word的模块,pytho ...

  6. 用python读取word文件里的表格信息【华为云技术分享】

    在企查查查询企业信息的时候,得到了一些word文件,里面有些控股企业的数据放在表格里,需要我们将其提取出来. word文件看起来很复杂,不方便进行结构化.实际上,一个word文档中大概有这么几种类型的 ...

  7. Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 123456789023456789013456789012 实现代码: with open('tes ...

  8. python读取word表格内容(1)

    1.首页介绍下word表格内容,实例如下: 每两个表格后面是一个合并的单元格

  9. python读取并写入mat文件

    用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); save matData.mat 用python3读取并写入 ...

随机推荐

  1. Ubuntu17.10下启动Rancher

    1.安装Docker: 获取最新的docker安装包 wget -qO- https://get.docker.com/ | sh 2.启动docker后台服务: service docker sta ...

  2. java代码中init method和destroy method的三种使用方式

    在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. ...

  3. VC6安装错误——Error Launching acmboot.exe

    因项目需要,我需要安装Microsoft Visual C++ Professional Version 6 SP5.但是在安装时运行安装目录下的setup.exe,出现Error Launching ...

  4. 【dedecms】DEDE列表页调用文章内容第一张图片(非缩略图)方法

    打开 ../ include/ common.func.php 添加代码 //将缩放图转变为文章第一张图片 function firstimg($str_pic) { $str_sub=substr( ...

  5. php学习笔记位运算

    位运算 源码:用二进制表示一个数,这个码就是源码. 比如2====00000000 00000000 0000000 00000010 正数的反码 源码 补码都一样 负数的源码是符号位取反.第一个位  ...

  6. eclipse报错

    1.eclipse报错具体如下 Error occurred during the build. Errors running builder 'JavaScript Validator' on pr ...

  7. hi3531的pcie atu资源重映射

    1. 设置ATU 区域号寄存器为需要配置的地址转换区编号. 2. 设置ATU Region Lower Base Address Register 和ATU Region Upper Base Add ...

  8. java中的“\t”

    对于初学者来说,java中的"\t"和空格总是让人迷惑,其实很简单,通过一个例子就能很快明白! 比如说打印九九乘法表! 先来看用空格的效果! package cn.edu.nwpu ...

  9. Django学习-9-ORM多对多操作

    创建多对多:             方式一:自定义关系表                 class Host(models.Model):                     nid = mo ...

  10. Xshell配色为ubuntu风格

    背景 为了远程连接服务器,用Xshell作为连接工具,因为好(mian)用(fei),服务器是ubuntu的,因此看不习惯Xshell自带的黑白色,下面给出了ubuntu的配色方案,使用的时候直接导入 ...