В рамках текущего исследовательского проекта я планирую измерить относительное вхождение уникального слова в файле JSON. В настоящее время у меня есть индикатор количества уникальных слов в файле и соответствующего им количества вхождений (например, "technology":"325"
), но мне все еще не хватает метода для полного подсчета слов.
Код, как я использование для полного количества слов (total = sum(d[key]))
дает следующее уведомление. Я проверил несколько решений аналогичных проблем, но пока не нашел подходящего ответа. Есть ли какой-нибудь разумный способ решить эту проблему?
total = sum(d[key]) - TypeError: 'int' object is not iterable
Соответствующий раздел кода выглядит так:
# Create an empty dictionary
d = dict()
# processing:
for row in data:
line = row['Text Main']
# Remove the leading spaces and newline character
line = line.strip()
# Convert the characters in line to
# lowercase to avoid case mismatch
line = line.lower()
# Remove the punctuation marks from the line
line = line.translate(line.maketrans("", "", string.punctuation))
# Split the line into words
words = line.split(" ")
# Iterate over each word in line
for word in words:
# Check if the word is already in dictionary
if word in d:
# Increment count of word by 1
d[word] = d[word] + 1
else:
# Add the word to dictionary with count 1
d[word] = 1
# Print the contents of dictionary
for key in list(d.keys()):
print(key, ":", d[key])
# Count the total number of words
total = sum(d[key])
print(total)