使用python读取word,写入execl
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的更多相关文章
- python读取与写入csv,txt格式文件
python读取与写入csv,txt格式文件 在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中.将csv文件中的数据直接读取为dict类型和DataFrame是非常方便也很 ...
- 使用python读取word
使用python读取word 官网:https://python-docx.readthedocs.io/en/latest/ 示例:https://blog.csdn.net/u010911997/ ...
- Python读取word文档内容
1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...
- Python读取word文档(python-docx包)
最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...
- python读取word文档
周末需要做一个统计word文档字数的问题,刚开始以为很简单,因为之前做过excel表格相关的任务,所以认为利用扩展模块应该比较简单. 通过搜索,确实搜到了一个python操作word的模块,pytho ...
- 用python读取word文件里的表格信息【华为云技术分享】
在企查查查询企业信息的时候,得到了一些word文件,里面有些控股企业的数据放在表格里,需要我们将其提取出来. word文件看起来很复杂,不方便进行结构化.实际上,一个word文档中大概有这么几种类型的 ...
- Python读取和写入文件
1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 123456789023456789013456789012 实现代码: with open('tes ...
- python读取word表格内容(1)
1.首页介绍下word表格内容,实例如下: 每两个表格后面是一个合并的单元格
- python读取并写入mat文件
用matlab生成一个示例mat文件: clear;clc matrix1 = magic(5); matrix2 = magic(6); save matData.mat 用python3读取并写入 ...
随机推荐
- Ubuntu17.10下启动Rancher
1.安装Docker: 获取最新的docker安装包 wget -qO- https://get.docker.com/ | sh 2.启动docker后台服务: service docker sta ...
- java代码中init method和destroy method的三种使用方式
在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等等. ...
- VC6安装错误——Error Launching acmboot.exe
因项目需要,我需要安装Microsoft Visual C++ Professional Version 6 SP5.但是在安装时运行安装目录下的setup.exe,出现Error Launching ...
- 【dedecms】DEDE列表页调用文章内容第一张图片(非缩略图)方法
打开 ../ include/ common.func.php 添加代码 //将缩放图转变为文章第一张图片 function firstimg($str_pic) { $str_sub=substr( ...
- php学习笔记位运算
位运算 源码:用二进制表示一个数,这个码就是源码. 比如2====00000000 00000000 0000000 00000010 正数的反码 源码 补码都一样 负数的源码是符号位取反.第一个位 ...
- eclipse报错
1.eclipse报错具体如下 Error occurred during the build. Errors running builder 'JavaScript Validator' on pr ...
- hi3531的pcie atu资源重映射
1. 设置ATU 区域号寄存器为需要配置的地址转换区编号. 2. 设置ATU Region Lower Base Address Register 和ATU Region Upper Base Add ...
- java中的“\t”
对于初学者来说,java中的"\t"和空格总是让人迷惑,其实很简单,通过一个例子就能很快明白! 比如说打印九九乘法表! 先来看用空格的效果! package cn.edu.nwpu ...
- Django学习-9-ORM多对多操作
创建多对多: 方式一:自定义关系表 class Host(models.Model): nid = mo ...
- Xshell配色为ubuntu风格
背景 为了远程连接服务器,用Xshell作为连接工具,因为好(mian)用(fei),服务器是ubuntu的,因此看不习惯Xshell自带的黑白色,下面给出了ubuntu的配色方案,使用的时候直接导入 ...