我有两个文本文件,我需要使用两者都有的公共键来组合。我可以将它们都读入 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
消息,因此我也没有在输出中得到我的列标题。
我曾希望使用字典可以防止这个问题。
谢谢你的帮助。