所以我的脚本使用了两个字典(见输出):第一个字典包含文章 ID 和一个空的 0 等级,是我需要调整的输入字典。第二个字典包含文章 ID 以及它们的排名,并作为我的排名参考索引。
代码:
#get input IDs from text file and convert to dict:
with open("article_ID.txt") as f:
content = {x for x in f.read().split()}
ids = dict.fromkeys(content, '0')
print (ids)
# Generate ranking dict from csv file:
rankings = dict()
f = open("ranking_sheet.csv")
for line in f:
line = line.strip('\n')
(key, val) = line.split(",")
rankings[key] = val
print(rankings)
输出:
{'86': '0', '126': '0', '58': '0', '369': '0', '172': '0', '329': '0', '271': '0', '97': '0'}
{'329': '1', '271': '2', '172': '3', '58': '4', '97': '5', '369': '6', '126': '7', '86': '8'}
Desired Output 是 ids 字典根据实际排名系统从 rank dict 重新排序,从排名最高的 ID 开始。所以 0 变成了相应的等级。