Python将两个文本文件与字典组合在一起 - 列号不一致

时间:2013-09-19 07:40:59

标签: python file text

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

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

感谢您的帮助。

0 个答案:

没有答案