#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]