1

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

我曾希望使用字典可以防止这个问题。

谢谢你的帮助。

4

0 回答 0