python如何获取word文件中某个关键字之后的表格

python如何获取word文件中某个关键字之后的表格,第1张

最好是全部都读取到程序中,在程序中进行判断。

本文实例讲述了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 文档的原理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9624128.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存