python如何实现提取文本中所有连续的词语
txt文本内容如下:单一结构象形字不是槌的打击乃是水的载歌载舞使鹅卵石臻于完美渐臻佳境日臻完善左右结构友谊的主要效用之一就在使人心中的愤懑抑郁之气得以宣泄弛放这些不平之气...
txt文本内容如下:
单一结构
象形字
不是槌的打击
乃是水的载歌载舞
使鹅卵石臻于完美
渐臻佳境
日臻完善
左右结构
友谊的主要效用之一就在使人心中的愤懑抑郁之气得以宣泄弛放
这些不平之气是各种的情感都可以引起的
以上内容是随机爬取的。请问如何用python实现提取里面所有连续的两个字。比如从“单一结构”中依次提取:单一;一结;结构。然后将结果逐行输出到另一个问本中 展开
单一结构
象形字
不是槌的打击
乃是水的载歌载舞
使鹅卵石臻于完美
渐臻佳境
日臻完善
左右结构
友谊的主要效用之一就在使人心中的愤懑抑郁之气得以宣泄弛放
这些不平之气是各种的情感都可以引起的
以上内容是随机爬取的。请问如何用python实现提取里面所有连续的两个字。比如从“单一结构”中依次提取:单一;一结;结构。然后将结果逐行输出到另一个问本中 展开
1个回答
展开全部
需要对每一行都作此处理吗?
比如:你的前两行:
单一结构 : 单一;一结;结构
象形字 : 象形;形字;
是这样吗?
比如:你的前两行:
单一结构 : 单一;一结;结构
象形字 : 象形;形字;
是这样吗?
追问
嗯嗯,文本大概有110M,我只是复制了一部分。我需要对整个文本进行这样的处理,尽量多的提取两个字,三个字,四个字,麻烦您了!
追答
# !/usr/bin/env python 3
# encoding: utf-8
def split_line(line,n):
if len(line) <=n:
return line
else:
s = ""
for i in range(len(line)-n+1):
s += line[i:i+n]
s += ";"
s += "\n"
return s
if __name__ == '__main__':
# 词组长度
seq_len = 2
# 读取文件路径
path = "./test.txt"
file = open(path,'r',encoding='utf-8')
# 保存结果路径
result_path = "./result.txt"
result_file = open(result_path,'w',encoding='utf-8')
for line in file:
temp = line.strip()
result_file.writelines(split_line(temp,seq_len))
# 关闭文件
file.close()
result_file.close()
# 我用你给的文本做了测试;下面是输出
单一;一结;结构;
象形;形字;
不是;是槌;槌的;的打;打击;
乃是;是水;水的;的载;载歌;歌载;载舞;
使鹅;鹅卵;卵石;石臻;臻于;于完;完美;
渐臻;臻佳;佳境;
日臻;臻完;完善;
左右;右结;结构;
友谊;谊的;的主;主要;要效;效用;用之;之一;一就;就在;在使;使人;人心;心中;中的;的愤;愤懑;懑抑;抑郁;郁之;之气;气得;得以;以宣;宣泄;泄弛;弛放;
这些;些不;不平;平之;之气;气是;是各;各种;种的;的情;情感;感都;都可;可以;以引;引起;起的;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询