вывод значений словаря в текстовый файл: отсоединение списков и строк - PullRequest
0 голосов
/ 28 октября 2019

У меня есть словарь под названием shared_double_lists, который состоит из 6 ключей, называемых [(0, 1), (1, 2), (1, 3), (2, 3), (0, 3), (0, 2)]. Значения для всех ключей являются списками.

Я пытаюсь вывести значения для ключа (0, 1) в файл. Вот мой код:

output = open('test_output.txt', 'w')
counter = 0
for locus in shared_double_lists[(0, 1)]:
    for value in locus:
        output.write(str(shared_double_lists[(0, 1)][counter]))
        output.write ("\t")
    output.write ("\n")
    counter +=1
output.close()

Это почти работает, вывод выглядит следующим образом:

['ACmerged_contig_10464', '1259', '.', 'G', 'C', '11.7172', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,1,0;MQ=41', 'GT:PL', '1/1:41,3,0']
['ACmerged_contig_10464', '1260', '.', 'A', 'T', '11.7172', '.', 'DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,1,0;MQ=41', 'GT:PL', '1/1:41,3,0']

В то время как я хочу, чтобы это выглядело так:

ACmerged_contig_10464 1259 . G C 11.7172 . DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,1,0;MQ=41 GT:PL 1/1:41,3,0
ACmerged_contig_10464 1260 . A T 11.7172 . DP=1;SGB=-0.379885;MQ0F=0;AC=2;AN=2;DP4=0,0,1,0;MQ=41 GT:PL 1/1:41,3,0

т.е. не иметь строк текста в формате списка в файле, но каждый элемент каждого списка разделен вкладкой

1 Ответ

1 голос
/ 28 октября 2019

Вы можете просто объединить списки в строку: Документы

my_string = '\t'.join(my_list)

\ t должны объединить их с вкладкой, но вы можете использовать то, что вы хотите там.

В этом примере:

output.write('\t'.join(shared_double_lists[(0, 1)][counter]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...