Python 读取.txt、.data、.doc和.docx文档的部分内容

python的文件操作,是python办公自动化的最基础部分。今天,数据猿就尝试对四种格式的文档,进行部分内容读取的操作,实现读取文件操作的办公自动化~

读取文本文档

with 语句读取部分内容

python最基本的文件读取是采用open()函数,但需要close()来关闭文件,否则会报错,所以建议使用with语句来读取一般的txt文件。

Python 读取.txt、.data、.doc和.docx文档的部分内容

如果要将其中一部分读取出来,怎么办呢?

有两种方法可以解决问题。

方法一:.find()定位下标法

使用.find()查找目标文字的下标,然后利用此下标进行字符串切片。

Python 读取.txt、.data、.doc和.docx文档的部分内容

Python 读取.txt、.data、.doc和.docx文档的部分内容

同find()类似,不同的是,如果未找到substr,则返回一个异常 ValueError: substring not found。

 

如果需要读取的文件是.csv和.data文件,这类文件类似表格,with语句的读取方式就相对复杂,因此需要采用pandas库来读取。

 

pandas读取.data文件

学机器学习的小伙伴会发现,在使用最初的数据集的时候,需要与UCI的机器“机器学习仓库:学习和智能系统中心”(Machine Learning Repository:Center for Machine Learning and Intelligent Systems)的数据集打交道。

如果是使用库自带的数据集还好,直接load_iris(),如果需要下载这个网站的最新数据集,则要下载此类文件——

 

Python 读取.txt、.data、.doc和.docx文档的部分内容

我们会发现,这里的鸢尾花数据集是.data格式。要想读取.data文件,就需要使用pandas。如下所示——

 

Python 读取.txt、.data、.doc和.docx文档的部分内容

读取doc文档

在日常工作中,我们经常会遇到,给定一个.doc文档,要求从中提取一部分文字存起来。

但是,.doc格式比较老,python中没有库读写.doc,所以就需要一个系统工具的库(这里是win32com)来打开word应用,将.doc转存为另存为.docx,再使用python-docx进行读写,以完成自动化操作。

首先,导入必要的库。这里需要os库获取当前路径和电脑绝对路径,以此找到word应用并打开doc文件。

Python 读取.txt、.data、.doc和.docx文档的部分内容

然后,构造另存函数。主要流程为

打开word应用——找到目标文件——打开目标文件——另存目标文件——退出。

Python 读取.txt、.data、.doc和.docx文档的部分内容

读取docx文档部分内容

导入python-docx库,注意这里写import docx即可。

但是,pip下载第三方库的时候要下载python-docx,否则会出错。

docx是按照段落读取的,所以需要列表解析式+.join()来形成一个长字符串,以便进行上文所示的字符串切片,从而读取部分内容。

Python 读取.txt、.data、.doc和.docx文档的部分内容

使用上文中的str.index索引法读取部分内容——

Python 读取.txt、.data、.doc和.docx文档的部分内容

 

 

上一篇:Kubernetes网络的iptables模式和ipvs模式支持ping分析.docx


下一篇:PDF转word python程序