リストのdictをtsvファイルに書きたいと思います。問題は私がを転記することができないということです。リスト。リストのdictとcsvへの書き込み
I持つリストの次のdict:
印刷D
defaultdict(<type 'list'>, {1: ['Genemark1.10973_g', 'missense_variant', 'MODERATE', 'scaffold_100', 305, '605', 'Asp', 'Gly', 'YES', 'NO', 'NO', 'NO'], 2: ['estExt_Genewise1Plus.C_1000001', 'disruptive_inframe_insertion', 'MODERATE', 'scaffold_100', 5002, '7172', 'Gly', '', 'YES', 'NO', 'NO', 'NO'], 3: ['fgenesh2_pm.100_#_3', 'inframe_insertion', 'MODERATE', 'scaffold_100', 10104, '265266', 'Leu', '', 'YES', 'NO', 'NO', 'NO'], 4: ['estExt_fgenesh2_pg.C_100178', 'inframe_deletion', 'MODERATE', 'scaffold_10', 711411, '351352', 'Gln', '', 'YES', 'NO', 'NO', 'NO'], 5: ['estExt_fgenesh2_pm.C_1060001', 'disruptive_inframe_deletion', 'MODERATE', 'scaffold_106', 5189, '832', 'Leu', 'del', 'YES', 'NO', 'NO', 'NO'], 6: ['Genemark1.10980_g', 'frameshift_variant', 'HIGH', 'scaffold_101', 10838, '313', 'Leu', 'fs', 'NO', 'YES', 'NO', 'NO'], 7: ['Genemark1.10973_g', 'missense_variant', 'MODERATE', 'scaffold_100', 2043, '26', 'Ile', 'Leu', 'YES', 'NO', 'NO', 'NO'], 8: ['fgenesh2_pm.104_#_2', 'stop_gained', 'HIGH', 'scaffold_104', 8574, '310', 'Tyr', '*', 'YES', 'NO', 'NO', 'NO']})
これは私の関数である:
from itertools import izip_longest
def printAnn(d):
rows = izip_longest(*d.values())
w = csv.writer(sys.stdout, delimiter='\t', quoting=csv.QUOTE_NONE, lineterminator='\n')
w.writerows(rows)
私は取得しています出力:
Genemark1.10973_g estExt_Genewise1Plus.C_1000001 fgenesh2_pm.100_#_3 estExt_fgenesh2_pg.C_100178 estExt_fgenesh2_pm.C_1060001 Genemark1.10980_g Genemark1.10973_g fgenesh2_pm.104_#_2
missense_variant disruptive_inframe_insertion inframe_insertion inframe_deletion disruptive_inframe_deletion frameshift_variant missense_variant stop_gained
MODERATE MODERATE MODERATE MODERATE MODERATE HIGH MODERATE HIGH
scaffold_100 scaffold_100 scaffold_100 scaffold_10 scaffold_106 scaffold_101 scaffold_100 scaffold_104
305 5002 10104 711411 5189 10838 2043 8574
605 7172 265266 351352 832 313 26 310
Asp Gly Leu Gln Leu Leu Ile Tyr
Gly del fs Leu *
YES YES YES YES YES NO YES YES
NO NO NO NO NO YES NO NO
NO NO NO NO NO NO NO NO
NO NO NO NO NO NO NO NO
PS:私はizip_longest
を1つのリスト(リストのdictではない)で試してみました。うまくいきました。私は何が欠けているのですか?
あなたは何を期待していますか? –
あなたの期待される出力は?あなたはあなたのcsvの行として各リストをしたいですか? – BHawk
私が欲しいのは、各リストの最初の要素は最初の列を占め、2番目の要素は2番目の列を...最後にはリストと同じ行数のテーブルと、最大のリストですから、基本的には私が得ている出力の転置です。物事を明確にするために期待される成果を準備しています。 – cucurbit