【发布时间】:2014-03-30 13:30:37
【问题描述】:
我正在尝试使用 Python 将 csv (txt) 文件中的单词与另一个 csv (txt) 文件中的单词进行比较。然后我试图根据它们的相似性计算分数。一个文件 (Answer.txt) 包含测试答案。另一个(Test.txt)包含测试的定义和答案。问题是我对编码相当陌生,而且两个文件的布局不同。例如,Answers.txt 的布局如下:
dog,cat,sheep
Test.txt 的布局如下:
definition_1,def_2,def_3
dog,cat,sheep
对于 Answer.txt 中的每一行,我试图将每个单词与 Test.txt 中的最后一行进行比较。我也在尝试根据匹配的单词计算分数。如果一个单词匹配,我希望获得 2 分。例如:
如果 Answer.txt 中的答案是:
dog,cat,sheep
Test.txt 中的答案说:
dog,cat,sheep
... 将计算 6 分。但是,如果 Answers.txt 中的答案说:
dog cat,shep
... 那么将获得 4 分,因为 'sheep' 与 Test.csv 不匹配。
然后,我希望将此“分数”添加到另一个名为“Score.txt”的文件中的记录末尾。
很抱歉给您带来麻烦。这几乎是我可以做出解释的简化。您的帮助将不胜感激!
添加:
我不知道从哪里开始。但是,我已经编写了将用户输入存储在 Answers.txt 中的函数:
def ask_question(number, definition):
""" Asks a question for definition number """
print "Definition {}: {}".format(number, definition)
return raw_input("Answer: ")
def sit_a_test():
results = []
with open("Test.txt", "rb") as f:
for row in csv.reader(f):
results.append(list(ask_question(no, def) for no, def in enumerate(row))))
with open("Score.txt", "wb") as f:
writer = csv.writer(f)
writerow.writerows(results)
【问题讨论】:
标签: python python-2.7 csv