Создать CSV с несколькими записями в списке - PullRequest
0 голосов
/ 08 октября 2019

Я использую пакет csv для генерации csv со списками и zip для соединения двух списков с одинаковым индексом. Теперь, если у переменной 'name' есть списки внутри, означающие несколько имен для каждого 'файла', и вы хотите добавить их в каждую соответствующую строку. Единственное, что может быть несколько имен для каждого файла.

переменная file и list являются списками:

один элемент из 'file' подключается к одному элементу 'name', но теперь этот элемент'name' - это список, но он нужен в разных столбцах в csv.

with open('output.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(zip(file, name))

Ниже приведен текущий вывод

1.txt,"['XYZ', 'ABC', 'PQR']"
2.txt,"['rtgs', 'gfd']"

Ожидается ниже

1.txt,'XYZ', 'ABC', 'PQR'
2.txt,'rtgs', 'gfd'

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

1 Ответ

0 голосов
/ 08 октября 2019

Вам придется сгладить список списков в список строк

name = [', '.join(n) for n in name] 
writer.writerows(zip(file, name))

или просто использовать цикл и писать каждую строку отдельно

for n, names in zip(file, name):
    writer.writerow([n, ', '.join(names))] 

Примечание: запятые вколонка CSV не лучшая идея

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