我有两个文本文件,我需要使用两者都有的公共密钥组合。我可以将它们都读成python词典,但仍然存在重大问题。例如:
文件-1:
Sample Criteria1 Criteria2 Criteria3 Criteria4 Criteria5 Criteria6
A 1 5 98 3
B 2 4 56 12 34
C 3 99 45 33
文件-2:
Date Sample Metric2 Metric3 Metric4 Metric5
9 A 5 98 3
8 B 4 56 12
2 C 99 45
我想要关注:
Sample Criteria1 Criteria2 Criteria3 Criteria4 Criteria5 Criteria6 Date Sample Metric2 Metric3 Metric4 Metric5
A 1 5 98 3 9 A 5 98 3
B 2 4 56 12 34 8 B 4 56 12
C 3 99 45 33 2 C 99 45
这是我的代码:
project = open(sys.argv[1], "rb")
table = open(sys.argv[2], "rb")
outfile = open(sys.argv[3], "w")
projectdict = {}
for line in project:
parts = line.strip().split("\t")
projectdict[str(parts[1])] = line.strip().split("\t")
tabledict = {}
for line in table:
parts = line.strip().split("\t")
tabledict[str(parts[0])] = line.strip().split("\t")
for key in tabledict:
outfile.write(key + "\t" + str(tabledict[key]) + "\t" + str(projectdict[key]) + "\n")
project.close()
table.close()
outfile.close()
我得到的是:
9 A 5 98 3 9 A 5 98 3
8 B 4 56 12 8 B 4 56 12
2 C 99 45 2 C 99 45
单词“Sample”也会导致KeyError
消息,因此我也没有在输出中获取列标题。
我曾希望使用词典可以防止这个问题。
感谢您的帮助。