python从word中读取规则数据存到excel中

python从word中读取规则数据存到excel中,第1张

word中文件的格式如图,类似一个标准的参考文献格式,而我的需求是按照作者,论文名,期刊名,时间,期卷号存到一个excel中。

1首先,word的python读取每次读的是块。

2通过对格式的分析,确定了利用,来分割字符串,然后再用来分割上次分割的第一个字符串,这对于期刊论文很适用,对于会议论文的可用性就弱很多。

3数据的传递使用的是list而不是字典,如果有机会的话,可能字典更好用,只是时间有限。

python自带的split

并且支持反向切割,strrsplit()语法和正向一致

2re库带的split,自认为的亮点是可以支持吧不同的符号作为切割位点,例如,

rematch与research的区别

rematch只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而research匹配整个字符串,直到找到一个匹配

Python 的 re 模块提供了resub用于替换字符串中的匹配项。

语法:

方法很多,比如之前提到的pypdf。然而用起来其实稍显麻烦,很多 *** 作不够方便。

所以我一般用pdf2htmlex(github上有,一个国人项目,非python)先把pdf转html,接下来再用bs4来解析处理。好处是处理html的工具非常非常丰富,且pdf2htmlex对原页面的效果保持得特别好,特别是对于那些个用word和latex导出的pdf里,大量数据图表里的标签可以很方便地把值抓出来……

使用ospathabspath()函数来获取文件绝对路径

文件目录结构如下:

解析

假设apppy中想读取configini文件的内容,首先apppy需要知道configini的文件路径,从目录结构上可以看出,configini与apppy的父目录同级,也就是获取到apppy父目录(bin文件夹的路径)的父目录(config文件夹路径)的绝对路径再拼上configini文件名就能获取到configini文件:

首先,在apppy中测试一下:

import os

def load_file():

# 获取当前文件路径

current_path = ospathabspath(__file__)

# 获取当前文件的父目录

father_path = ospathabspath(ospathdirname(current_path) + ospathsep + "")

# configini文件路径,获取当前目录的父目录的父目录与congigini拼接

config_file_path=ospathjoin(ospathabspath(ospathdirname(current_path) + ospathsep + ""),'configini')

print('当前目录:' + current_path)

print('当前父目录:' + father_path)

print('configini路径:' + config_file_path)

load_file()

从结果中可以看到一切都正常,没有什么问题,假如现在需要从mainpy中执行apppy的load_file()方法呢?

来测试一下:

mainpy(处于同级目录):

from binapp import load_file

if __name__=='__main__':

load_file()

可以看到,获取的路径是完全没有问题的

拓展内容

python ospath 常用模块介绍

Python可以利用python-docx模块处理word文档,处理方式是面向对象的。也就是说python-docx模块会把word文档,文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。

二,相关概念

如果需要读取word文档中的文字(一般来说,程序也只需要认识word文档中的文字信息),需要先了解python-docx模块的几个概念。

1,Document对象,表示一个word文档。

2,Paragraph对象,表示word文档中的一个段落

3,Paragraph对象的text属性,表示段落中的文本内容。

三,模块的安装和导入

需要注意,python-docx模块安装需要在cmd命令行中输入pip install python-docx,如下图表示安装成功(最后那句英文Successfully installed,成功地安装完成,十分考验英文水平。)

注意在导入模块时,用的是import docx。

也真是奇了怪了,怎么安装和导入模块时,很多都不用一个名字,看来是很有必要出一个python版本的模块管理程序python-maven了,本段纯属PS。

四,读取word文本

在了解了上面的信息之后,就很简单了,下面先创建一个D:\temp\worddocx文件,并在其中输入如下内容。

然后写一段程序,代码及输出结果如下:

#读取docx中的文本代码示例

import docx

#获取文档对象

file=docxDocument("D:\\temp\\worddocx")

print("段落数:"+str(len(fileparagraphs)))#段落数为13,每个回车隔离一段

#输出每一段的内容

for para in fileparagraphs:

print(paratext)

#输出段落编号及段落内容

for i in range(len(fileparagraphs)):

print("第"+str(i)+"段的内容是:"+fileparagraphs[i]text)

运行结果:

================ RESTART: F:/360data/重要数据/桌面/学习笔记/readWordpy ================

段落数:13

我看见一座山

雄伟的大山

真高啊

这座山是!

真的很高!

第0段的内容是:啊

第1段的内容是:

第2段的内容是:我看见一座山

第3段的内容是:

第4段的内容是:雄伟的大山

第5段的内容是:

第6段的内容是:真高啊

第7段的内容是:

第8段的内容是:啊

第9段的内容是:

第10段的内容是:这座山是!

第11段的内容是:

第12段的内容是:真的很高!

>>>

总结

以上就是本文关于Python读取word文本 *** 作详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

以上就是关于python从word中读取规则数据存到excel中全部的内容,包括:python从word中读取规则数据存到excel中、如何利用python抓取网页中的内容并存到word中、python读取已经打开的3个word和excle文件的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存