从python中的字典制作表

时间:2013-02-20 23:17:08

标签: python dictionary

我正在尝试从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 键“\ t”value_2“\ t”value_2 键“\ 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很新。

让我提供更多信息。我有几个样本中的每一个都有一个文本。文本文件都是这样的:

目标Chr开始结束Mean_Cov Shallow_Count Shallow_Bases COL2A1_38 chr12 48374677 48374771 175.6 0无 COL1A1_30 chr17 48269320 48269405 512.76 0无 COL1A1_36 chr17 48267341 48267489 548.89 0无 CRTAP_7 chr3 33183866 33184060 571.77 0无

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

目标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

这更有意义吗?

1 个答案:

答案 0 :(得分: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