выводить в файл списки разного размера бок о бок в виде столбцов, python - PullRequest
0 голосов
/ 21 июня 2020

У меня есть 4 списка, в которых указаны названия некоторых бактерий в зависимости от количества групп белков, которые они имеют. Подробнее c: cas1Names хранит названия бактерий только с одной группой белков, cas3Names содержит названия бактерий с 2 ​​или 3 группами белков, cas5Names содержит названия бактерий с 4 или 5 группами белков и casBigNames с более 5. Я хочу вывести эти списки разного размера в файл с расширением .tab и записать их в виде столбцов. Я хочу иметь 4 столбца: 1 кассета, 2-3 кассеты, 4-5 кассет, более 5 кассет и в первом столбце для печати списка cas1Names и так далее ... На данный момент у меня есть эти списки:

cas1Names = ['AJXW01000061', 'AWUR01000016', 'AYEG01000023', 'AZFH01000198', 'AFDT01000022']

cas3Names = []

cas5Names = ['ACNR01000019']

casBigNames = ['NC_018142']

Я пробовал несколько версий, как распечатать эту задачу, но результат оказался не таким, как я хотел Я пробовал:

headerNames = ['1 cassette','2-3 cassettes','4-5 cassettes','More then 5 cassettes']
rows = itertools.zip_longest(cas1Names,cas3Names,cas5Names,casBigNames, fillvalue = 0)
with open('statistics.tab','w', newline='') as f :
        resultWriter = csv.writer(f)
        resultWriter.writerow(headerNames)
        resultWriter.writerow(rows)

Результат, который я получаю, выглядит примерно так:

1 cassette,2-3 cassettes,4-5 cassettes,More then 5 cassettes

"('AJXW01000061', 0, 'ACNR01000019', 'NC_018142')","('AWUR01000016', 0, 0, 0)","('AYEG01000023', 0, 0, 0)","('AZFH01000198', 0, 0, 0)","('AFDT01000022', 0, 0, 0)"

не только это неправильно, но и не так, как я хотел, результаты печатаются как список элементов, а не в столбце один за другим ... Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...