
最好是全部都读取到程序中,在程序中进行判断。
本文实例讲述了Python实现批量读取word中表格信息的方法。分享给大家供大家参考。具体如下:
单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个python小程序把所需的信息打印出来
#coding:utf-8
import os
import win32com
from win32comclient import Dispatch, constants
from docx import Document
def parse_doc(f):
"""读取doc,返回姓名和行业
"""
doc = wDocumentsOpen( FileName = f )
t = docTables[0] # 根据文件中的图表选择信息
name = tRows[0]Cells[1]RangeText
situation = tRows[0]Cells[5]RangeText
people = tRows[1]Cells[1]RangeText
title = tRows[1]Cells[3]RangeText
print name, situation, people,title
docClose()
def parse_docx(f):
"""读取docx,返回姓名和行业
"""
d = Document(f)
t = dtables[0]
name = tcell(0,1)text
situation = tcell(0,8)text
people = tcell(1,2)text
title = tcell(1,8)text
print name, situation, people,title
if __name__ == "__main__":
w = win32comclientDispatch('WordApplication')
# 遍历文件
PATH = "H:\work\\aaa" # windows文件路径
doc_files = oslistdir(PATH)
for doc in doc_files:
if ospathsplitext(doc)[1] == 'docx':
try:
parse_docx(PATH+'\\'+doc)
except Exception as e:
print e
elif ospathsplitext(doc)[1] == 'doc':
try:
parse_doc(PATH+'\\'+doc)
except Exception as e:
print e
希望本文所述对大家的Python程序设计有所帮助。
word中文件的格式如图,类似一个标准的参考文献格式,而我的需求是按照作者,论文名,期刊名,时间,期卷号存到一个excel中。
1首先,word的python读取每次读的是块。
2通过对格式的分析,确定了利用,来分割字符串,然后再用来分割上次分割的第一个字符串,这对于期刊论文很适用,对于会议论文的可用性就弱很多。
3数据的传递使用的是list而不是字典,如果有机会的话,可能字典更好用,只是时间有限。
python自带的split
并且支持反向切割,strrsplit()语法和正向一致
2re库带的split,自认为的亮点是可以支持吧不同的符号作为切割位点,例如,
rematch与research的区别
rematch只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而research匹配整个字符串,直到找到一个匹配
Python 的 re 模块提供了resub用于替换字符串中的匹配项。
语法:
首先通过 pip 安装 python-docx,命令为 pip install python-docx 。
python-docx 使用 Document 对象来表示整个 docx 文档。其内部包含 一个Paragraph 对象列表。每个 Paragraph 对应 docx 文档的一个段落。
word 文档中除了字符串,还包含字体、大小、颜色等样式信息。相同样式的连续字符串,就会被保存在一个 Run 对象中。
假设 docx 文档中有下面这些内容:
那么经过 python-docx 解析,就会生成 3 个 Run 对象:
Python学习笔记(28) - Python读取word文本 - 程序员大阳的博客

1 简介 Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,
2 相关概念 如果需要读取
要求:页码从第1章开始,按阿拉伯数字连续编排。页码位于页面底端,居中书写;
虽然在python-docx 088 (2019-01-07)的版本中已经支持了word文档的页眉页脚的设置,但目前我也尚未找到怎么在页脚中显示页码。
现采用另一种解决方法,新建一个含有页码的word文档作为模板,读取该word文档,在该模板的基础上生成符合需求的word文档。因为python-docx实质就是从一个空的word文档开始生成,所以可以在生成之前先在空的word文档设置好页码或其他一些所需的样式,这样就也能生成满足需求的word文档。
另:
python-docx中的字体设置
runfontname ='Times New Roman' # 设置西文字体
run_elementrPrrFontsset(qn('w:eastAsia'), '宋体')# 设置中文字体
以上就是关于python如何获取word文件中某个关键字之后的表格全部的内容,包括:python如何获取word文件中某个关键字之后的表格、python从word中读取规则数据存到excel中、说说 python-docx 解析 word 文档的原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)