先读取文本内容,再根据结构选择字符串处理、正则表达式或专用库提取信息。1. 读取文件或字符串变量;2. 用split()、find()等方法提取固定格式信息;3. 用re.findall()提取邮箱、电话、日期等规律性信息;4. 对JSON、HTML、PDF等结构化文本分别使用json、BeautifulSoup、PyPDF2等工具解析后提取。

提取文本信息在Python中很常见,主要根据文本来源和结构选择合适的方法。核心思路是读取文本内容后,用字符串处理、正则表达式或专用库进行信息抽取。
1. 读取文本内容
先将文本加载到程序中,常见方式有读取文件或处理字符串变量。
示例:读取本地文本文件:
with open('text.txt', 'r', encoding='utf-8') as f: text = f.read()
处理字符串:
text = "这里是需要提取信息的文本内容"
2. 使用字符串方法提取简单信息
适用于格式固定的文本,比如提取关键词前后的内容。
split() 分割文本: 按分隔符切分,取所需部分
title = text.split("标题:")[1].split("n")[0]
find() + 切片: 定位关键词位置并提取
start = text.find("电话:") + 3end = text.find("n", start)phone = text[start:end]
3. 使用正则表达式提取复杂模式
适合提取电话号码、邮箱、日期等有规律的信息。
立即学习“Python免费学习笔记(深入)”;
示例:提取邮箱:
import reemails = re.findall(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}', text)
提取手机号:
phones = re.findall(r'1[3-9]d{9}', text)
提取日期(如2025-04-05):
dates = re.findall(r'd{4}-d{2}-d{2}', text)
4. 处理结构化文本(如JSON、HTML、PDF)
不同格式需用对应工具解析后再提取。
JSON 数据:
import jsondata = json.loads(text)value = data['key']
HTML 页面(用 BeautifulSoup):
from bs4 import BeautifulSoupsoup = BeautifulSoup(text, 'html.parser')titles = soup.find_all('h1')
PDF 文件(用 PyPDF2 或 pdfplumber):
import PyPDF2reader = PyPDF2.PdfReader('file.pdf')text = reader.pages[0].extract_text()
基本上就这些。根据你的文本类型选对方法,再结合字符串操作和正则表达式,就能高效提取所需信息。
以上就是python如何提取文本信息?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382317.html
微信扫一扫
支付宝扫一扫