4

我正在尝试从 python 字典创建一个表:字典是这样生成的:

for line in input_file:
  key = line.split()[0]
  value_1 = line.split()[1]
  value_2 = line.split()[2]
dic = {}
if not key in dic:
  dic[key] = value_1, value_2
else:
  dic[key] = dic[key], value_1, value_2  

我想按以下格式制作表格:

"/t" value_1 "\t" value_1 key "\t" value_2 "\t" value_2 key "\t" value_2 "\t" value_2

这是我的实际字典:

COL1A1_31 (((('RD013939-Fetal', '1392.85'), 'RD013938-Fetal', '2306.23'), 'RD013937-Fetal', '2825.40'), 'RD013936-Fetal', '3246.35')
COL1A1_32 (((('RD013939-Fetal', '5217.01'), 'RD013938-Fetal', '3914.62'), 'RD013937-Fetal', '5879.18'), 'RD013936-Fetal', '5843.70')
COL1A1_33 (((('RD013939-Fetal', '2937.83'), 'RD013938-Fetal', '2351.07'), 'RD013937-Fetal', '3439.43'), 'RD013936-Fetal', '4121.72')

有任何想法吗?

抱歉这个令人困惑的问题和我糟糕的代码......我对python很陌生。

让我提供更多信息。我有几个样本中的每一个都有一个文本。所有看起来像这样的文本文件:

Target Chr Start End Mean_Cov Shallow_Count Shallow_Bases COL2A1_38 chr12 48374677 48374771 175.6 0 none COL1A1_30 chr17 48269320 48269405 512.76 0 none COL1A1_36 chr17 48267341 48267489 548.89 0 none CRTAP_7 chr3 33183866 33184060 571.77 0 none

有一个基因名称(目标),然后是一些元数据。我需要生成这些文本文件的摘要,如下所示:

目标 Mean_Cov_sample_1 Mean_Cov_sample_2 COL2A1_38 175.6 some_value_from_sample_2 COL1A1_30 512.76 some_value_from_sample_2

这更有意义吗?

4

1 回答 1

2

很难弄清楚您的输入字典实际上是什么样子,但请对其进行排序,然后在必要时修改以下示例:

>>> d = {'key{}'.format(n): 'value{}'.format(n) for n in xrange(3)}
>>> table =  '\t'.join(['{}\t{}'.format(d.get(k), k) for k in sorted(d)])
>>> print table
value0  key0    value1  key1    value2  key2
于 2013-02-20T23:26:46.707 回答