对美剧《老友记》中第一季的英文剧本进行词频分析时候,出现的问题
path = r"c:\Users\Administrator\friends 01.txt"
k = 10
starttime = datetime.datetime.now()
print("开始于",starttime)
words = read_file(path)
wokey = clear_account(words)
wokey_1 = sort_1(wokey)
if k > len(wokey_1):
v = len(wokey_1)
else:
v=k
i= 0
for(x,y) in wokey_1:
if i<v:
print(x,":",y)
i += 1
continue
else:
break
from pandas import DataFrame
x =[]
y =[]
for xy in wokey_1:
x.append(xy[0])
y.append(xy[1])
data = DataFrame({"word":X,"freq":Y})
data.to_excel(r"c:\Users\Administrator\wokey_1.xlsx")
print("【结束】")
endtime = datetime.datetime.now()
print("开始时间:",starttime, "\n结束时间:",endtime)
print("总时长:",endtime - starttime)
print("总秒数:",(endtime - starttime), seconds)
print("文件保存在:",r"c:\Users\Administrator\wokey_1.xlsx")
TypeError Traceback (most recent call last)
C:\Users\ADMINI~1\AppData\Local\Temp/ipykernel_12108/1421992527.py in <module>
8 words = read_file(path)
9 wokey = clear_account(words)
---> 10 wokey_1 = sort_1(wokey)
11
12 if k > len(wokey_1):
C:\Users\ADMINI~1\AppData\Local\Temp/ipykernel_12108/2414461963.py in sort_1(wokey)
9
10 def sort_1(wokey):
---> 11 wokey_1 = sorted(wokey.items(),key = lambda d:d[1], reverse = True)
12 return wokey_1
13
TypeError: '<' not supported between instances of 'NoneType' and 'NoneType'
我刚刚开始学习Python,我不知道这个问题该如何着手。
请问这是什么问题,以及如何解决这一问题?
wokey_1 = sorted(wokey.items(),key = lambda d:d[1], reverse = True)这行代码是实现排序,这个报错说明你的数据有问题,你输出wokey.items()看看数据
代码中这两句调用函数时,words = read_file(path)
wokey = clear_account(words)
读取到的数据不准确,主要是分词和统计词频有关代码部分有问题。重点检查 clear_account的函数及read_file返回数据类型。