读取txt、doc、docx、pdf文件——python
off999 2024-10-10 07:52 46 浏览 0 评论
一、 读取txt文件
直接使用open()函数
def readTxt(name):
ftxt = open(name,'r',encoding='utf-8')
x = ftxt.read()
ftxt.close()
return x二、 读取doc、docx文件
- 读取docx文件
需要引入python-docx模块
命令行安装:pip install python-docx
pycharm安装:File-->Settings-->Project:index.py-->Python Interpreter
def readWord(name):
# 读取word
import docx # 引入python-docx模块
fword = docx.Document(name) # name为文件路径
str1 = ''
for para in fword.paragraphs: # 读取word的每一段内容
str1 += para.text #para.text即为该段落的内容
return str1 # 返回读取到的文件内容2.读取doc文件
python-docx只能读取docx文件,无法读取doc文件;
可以先将doc文件转化为docx文件,然后用python-docx读取;
安装pywin32包:
命令行安装:pip install pywin32
pycharm安装:参照上方docx段落中的操作;
def docTodocx(path,fileName):
from win32com import client as wc #引入pywin32包
word = wc.Dispatch("Word.Application") #创建对象
doc = word.Documents.Open(path+"/"+fileName+".doc")#读取doc文件
doc.SaveAs(path+"/"+fileName+".docx",12) #保存docx文件
doc.Close()
word.Quit()三、 读取pdf文件
需要引入包pdfminer3k
命令行安装: pip install pdfminer3k
pycharm安装:参照上方docx段落中的操作;
def readPdf(name):
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LTTextBoxHorizontal, LAParams
from pdfminer.pdfinterp import PDFTextExtractionNotAllowed
text_path = r''+name #name是文件路径
fpdf = open(text_path, 'rb')
parser = PDFParser(fpdf) # 用文件对象创建一个PDF文档分析器
doc = PDFDocument() # 创建一个PDF文档
parser.set_document(doc) # 连接分析器与文档对象
doc.set_parser(parser)
doc.initialize()
strs = ''
if not doc.is_extractable:
# 检测文档是否提供txt转换,不提供就忽略
raise PDFTextExtractionNotAllowed
else:
pdfMgr = PDFResourceManager() # 创建PDF,资源管理器,来共享资源
laparams = LAParams() # 创建一个PDF设备对象
device = PDFPageAggregator(pdfMgr, laparams = laparams)
interpreter = PDFPageInterpreter(pdfMgr, device) # 创建一个PDF解释其对象
for page in doc.get_pages():
interpreter.process_page(page) # doc.get_pages() 获取page列表
layout = device.get_result() # 接受该页面的LTPage对象
# 这里layout是一个LTPage对象 里面存放着 这个page解析出的各种对象
# 一般包括LTTextBox, LTFigure, LTImage, LTTextBoxHorizontal 等等
# 想要获取文本就获得对象的text属性,
for x in layout:
if (isinstance(x, LTTextBoxHorizontal)):
strs += x.get_text()
return strs # 返回读取到的文件内容相关推荐
- ghost系统之家win10(windows ghost)
-
Ghost备份系统Win10可以通过使用Ghost软件来完成。首先,需要下载和安装Ghost软件。然后,将系统文件和数据备份到外部硬盘或其他存储设备中。接下来,打开Ghost软件,选择备份选项,并按照...
- 免费cad制图软件(电脑版cad免费怎么下载)
-
迅捷cad编辑器永久免费版全面支持图纸的编辑功能,软件体积小巧功能强大,他支持几乎所有主流的图片格式,让用户不会出现无法打开图纸的困扰,也不会让用户收到领域的困扰,包括电气、机械、建筑等等领域的cad...
- 笔记本电脑没声音是什么原因
-
笔记本电脑没有声音的原因是:1.声音是否被调到最小了。2.音频是否被禁用了。3.声卡驱动是不是有问题。4.如果电脑既没有声音也没有小喇叭的图标,则表示电脑的音频设备未启用。笔记本电脑没有声音的原因是:...
- melogin路由器设置登录入口(192.168.1.1直接进入)
-
melogincn路由器的设置步骤如下第一、路由器线路连接1、请把你的.水星双频路由器上的WAN接口,用网线连接到猫的网口。如果你家宽带没有用到猫,就把入户的宽带网线,插在路由器的WAN口。2、把你的...
-
- 如何优化电脑性能
-
可以通过以下几个步骤来提高电脑运行速度和游戏流畅度:1.清理垃圾文件和无用程序,可以使用系统自带的清理工具或第三方软件;2.关闭开机自启动项,只保留必要的程序开机启动;3.升级硬件,比如增加内存、更换硬盘等;4.优化系统设置,如关闭不必要的...
-
2026-01-02 06:51 off999
- ie8以上版本浏览器(ie8及以上版本浏览器)
-
浏览器IE8版本以上的意思就是当浏览的网页不支持低版本的IE浏览器,就会提示需要版本较高的IE8以上的版本才可以打开浏览网页。IE浏览器是美国微软公司推出的一款网页浏览器,原名MicrosoftIn...
- 适合电脑的应用商店(电脑最好的应用商店)
-
1.MicrosoftToDo推荐理由:微软出品,必属精品2.Microsoft便笺推荐理由:又是一款微软官方出品的良心免费应用,相比MicrosoftToDo,Microsoft便笺更加...
- 家里无线网连上不能用(家里无线网不能使用)
-
WiFi连上但不能使用可能有多种原因。以下是一些常见问题和解决方法:1.路由器问题:首先要确认路由器是否正常工作。可以尝试重启路由器,等待几分钟后再次连接并测试。2.网络设置问题:检查设备上的网络...
- 低价香港服务器(香港服务器推荐性价比)
-
香港最好的服务器是双向cn2+移动+联通三线优化直连的,性能配置都非常高,而且速度还非常稳定。 香港服务器的使用方法:1、首先需要选择一个服务商进行购买服务器;2、购买成功后,可在本地计算机...
- 免费360清理大师官方版(华为自带清理软件)
-
挺好用的。它可以清除你手机的里面的垃圾,检测和修复软件安全性。还有一些漏洞垃圾,你可以试着对比和使用,功效和针对性比较强。您杀毒没有效果的原因可能是您的安全软件版本过旧导致的,建议您使用最新版的腾讯手...
- 万能解压器安卓版(万能解压器官方下载)
-
是一款手机文件的助手。万能解压器手机版。专注于快速解压和压缩的文件管理工具!支持ZIP,RAR,7Z,TAR,ZIPX,GZIP,JAR等压缩和解压文件格式。是超好用、超便捷的解压软件!支持在手机上将...
- cad看图(cad看图王)
-
以下是一些CAD看图的方法和技巧:1.放大/缩小:使用滚轮或放大镜工具可以方便地放大或缩小绘图。2.平移:使用平移工具可以在不改变视角的情况下将绘图向上、向下、向左或向右移动。3.旋转:使用旋转...
-
- dell笔记本售后服务电话是多少
-
以下为dell售后服务点A:戴尔笔记本电脑维修点地址:上海市长宁区长宁路1027号兆丰广场5层 B:戴尔笔记本电脑维修点地址:上海市徐汇区漕溪北路45号 C:戴尔笔记本电脑维修点地址:上海市徐汇区漕溪路250号银海大厦1...
-
2026-01-02 02:03 off999
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
