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 キー "\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が初めてです。

もっと情報を提供させてください。いくつかのサンプルごとに 1 つのテキストがあります。テキスト ファイルはすべて次のようになります。

ターゲット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

遺伝子名 (ターゲット) といくつかのメタデータがあります。これらのテキスト ファイルの要約を次のように生成する必要があります。

ターゲット 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

入力 dict が実際にどのように見えるかを理解するのは難しいですが、それを整理してから、必要に応じて以下の例を変更してください。

>>> 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 に答える