【问题标题】:Making a table from a dictionary in python从python中的字典制作表格
【发布时间】:2013-02-20 23:17:07
【问题描述】:

我正在尝试从 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”值_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 很陌生。

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

Target Chr Start End 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

这更有意义吗?

【问题讨论】:

  • 那不是字典...
  • 你确定你的意思不是((RD013939-Fetal', '1392.85'), ((RD013938-Fetal', 2306.23'), (('RD013937-Fetal', '2825.40'), (('RD013936-Fetal', '3246.35')))))?至少那将是建立在链接(consed)列表的 Python 表示上的 a-list 的 Python 表示。在 Python 中仍然是一件非常愚蠢的事情,但至少我会理解你的目的;在 Lisp 和其他语言中,a-list 是存储小型字典的合理方式。

标签: python dictionary


【解决方案1】:

很难弄清楚你的输入字典实际上是什么样子的,但是把它整理出来,然后在必要时修改下面的例子:

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

【讨论】:

  • 感谢所有帮助。我认为我的问题说得太糟糕了,以至于没有人能弄清楚我实际上在问什么。我希望我的编辑对您的患者有帮助,并感谢像我这样的 Python 新手!
猜你喜欢
  • 1970-01-01
  • 2014-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-19
  • 2018-09-26
相关资源
最近更新 更多