Запишите список списков в файл CSV. Размещение вложенных списков в отдельные столбцы

#python #csv #export-to-csv

Вопрос:

Я собрал список списков и хотел бы записать каждый элемент в строку CSV.

Но есть подсписки, которые я хотел бы поместить в отдельные столбцы.

Как я могу записать приведенные ниже результаты в csv с 2 строками и 4 столбцами ( [1,2,3] в одном столбце).

 outputcsv=r'C:Usersout.csv'

results=[[11, 22, 33, [1, 2, 3]], 
         [44, 55, 66, [4, 5, 6]]]

with open(outputcsv, 'w') as f:
    for item in results:
        f.write("%sn" % item)
        f.flush()
    


    
 

Комментарии:

1. Почему бы не использовать панд?

Ответ №1:

Используйте следующий фрагмент кода:

 import pandas as pd
cols = ['a', 'b', 'c', 'd']
d = [dict(zip(cols, vals)) for vals in results]
pd.DataFrame(d).to_csv('C:Usersout.csv')
 

В случае, если вы хотите добавить в существующий csv-файл, измените последнюю строку на:

 pd.DataFrame(d).to_csv('C:Usersout.csv', mode='a', header=False)
 

Вот как выглядит ваш фрейм данных:

     a   b   c          d
0  11  22  33  [1, 2, 3]
1  44  55  66  [4, 5, 6]