1我知道在这个网站上有几篇关于此的帖子。但是,我的计数器功能不起作用。
我有一个CSV文件,其中包含有关体育的推文。我试图找到以下主题标签的频率[" #lovepatriots"," #GoJets"等]共有10个主题标签。
以下是我的代码。我想使用下面代码的格式而不是计数器函数。
$.each(response.posts.data, function(index){
$('.announcementsTitle'+index).prepend($(this).name);
$('.announcementsText'+index).prepend($(this).message);
$('.announcementsText'+index).prepend($(this).description);
$('.announcementsImage'+index).attr("src",$(this).full_picture);
});
我收到以下错误:
def readCSV():
myFile = open("/Users/acantrr/Desktop/south.csv", newline='', encoding='utf-8"')
fileString=myFile.read()
fileString = re.sub ('[^\s\w#]+',' ',fileString)
fileString = re.sub("\d+", "", fileString)
fileString = fileString.lower()
myFile.close()
myList= fileString.split()
return myList
def freqdic():
myList = readCSV()
for word in myList:
# Add a word to my dict. What should the val be?
if not word_freqs.has_key(word):
word_freqs[word] = 1
print('Saw', word, 'for the first time')
else:
word_freqs[word] = word_freqs[word]+1
print('Saw', word, 'again. Doh :(')
答案 0 :(得分:1)
此错误
AttributeError: 'dict' object has no attribute 'has_key'
告诉我你正在使用Python 3。
移除。
dict.has_key()
- 改为使用in
运算符。
修复问题更改
if not word_freqs.has_key(word):
到
if word not in word_freqs:
更好的是,使用collections.Counter
并且您的功能变为:
def freqdic():
words = readCSV()
word_freqs = collections.Counter(words)
return word_freqs
甚至
def freqdic():
return collections.Counter(readCSV())