在Python中从字典创建表格
我想用一个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" 值_1 "\t" 值_1
键 "\t" 值_2 "\t" 值_2
键 "\t" 值_2 "\t" 值_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还很陌生。
让我提供更多信息。我有几个样本,每个样本都有一段文本。这些文本文件的格式都是这样的:
目标 染色体 开始 结束 平均覆盖率 浅层计数 浅层碱基
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
这里有一个基因名(目标),然后是一些元数据。我需要生成一个这些文本文件的总结,格式如下:
目标 平均覆盖率_样本_1 平均覆盖率_样本_2
COL2A1_38 175.6 样本_2的某个值
COL1A1_30 512.76 样本_2的某个值
这样说更清楚了吗?
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