Python作业求助
作业要求如下:(1)下载某个歌手的全部歌词或一部长篇小说,存成一个UTF-8编码的文本文件;(2)从文件中读取全部文本进行预处理:将标点符号全部替换成空格;(3)将预处理...
作业要求如下:
(1)下载某个歌手的全部歌词或一部长篇小说,存成一个UTF-8编码的文本文件;
(2)从文件中读取全部文本进行预处理:将标点符号全部替换成空格;
(3)将预处理之后的文本进行分词,统计每个单词出现的次数,生成词频字典;
现在我只做出来词频分析,但是不懂得标点符号如何替换成空格,以下是我写的半成品 求大佬修改,感激不尽!
import jieba
txt = open("绝代风华.txt","r",encoding='utf-8').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
word, count = items[i]
print("{0:<10}{1:>5}".format(word, count)) 展开
(1)下载某个歌手的全部歌词或一部长篇小说,存成一个UTF-8编码的文本文件;
(2)从文件中读取全部文本进行预处理:将标点符号全部替换成空格;
(3)将预处理之后的文本进行分词,统计每个单词出现的次数,生成词频字典;
现在我只做出来词频分析,但是不懂得标点符号如何替换成空格,以下是我写的半成品 求大佬修改,感激不尽!
import jieba
txt = open("绝代风华.txt","r",encoding='utf-8').read()
words = jieba.lcut(txt)
counts = {}
for word in words:
if len(word) == 1:
continue
else:
counts[word] = counts.get(word,0) + 1
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(15):
word, count = items[i]
print("{0:<10}{1:>5}".format(word, count)) 展开
7个回答
展开全部
就做一下标点符号的替换吧
txt = open("绝代风华.txt","r+",encoding='utf-8').read()#修改访问模式为"r+"
txt2=txt.replace(",",' ').replace("。",' ')#还有什么符号就自己加吧
txt3=open("E://绝代风华2.txt","w+",encoding='utf-8')#设置路径比较好,在文件名前加
txt3.write(txt2)#写入替换好的文本,形成新文本
#以下三句放在代码的后面
txt.close()
txt3.close()
#打开新文本,若查看的文本内容无误,这两行代码可以注释。
pl=open("E://绝代风华2.txt","r",encoding='utf-8').read()
pl.close()
展开全部
python里面可以用replace的方法来替换为空格,这个方法是比较好的,语法是string为字符串,string.replace()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标点符号可以通过replace替换,写一个单独的方法,或者用正则匹配
追问
详细说下可以吗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个嘛,用派森的话,我建议你去网上查,这个指令很难的,我也不是很懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要作业产品求助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询