网站首页 > 技术文章 正文
一、 读取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 # 返回读取到的文件内容
猜你喜欢
- 2025-01-06 3分钟教会你用Python读取MySQL中的数据
- 2025-01-06 Python高效管理JSON文件:读写、更新、删除全攻略
- 2025-01-06 20 天学 Python 文件操作:Day 2 深入理解文件读取方法
- 2025-01-06 python 利用python读取DOC文件
- 2025-01-06 一日一技:在Python中逐行读取文件
- 2025-01-06 python中读取图片的6种方式
- 2025-01-06 Python读写docx文件
- 2025-01-06 Python 文件操作全指南:从读写到高级操作
- 2025-01-06 python读取文件
- 2025-01-06 Python如何读写xml
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)