Форум сайта python.su
0
Помогите создать csv , проблема в том, что данных может не быть некоторых ключей
import csv # Есть list c данными для создания csv data = [ {"name" : "Имя", "address" : "ул. Улица д. 1", "site" : "site.ru", "description" : "Описание"}, {"name" : "Имя1", "site" : "site1.ru", "description1" : "Описание"} ] zag = ["name", "address", "site", "description"] file = open("file.txt", "w") writer = csv.writer(file,delimiter = ";") # Создаем заголовки writer.writerow(zag) # # Тут цикл который формирует данные # file.close()
Офлайн
4
Зачем тогда задавать структуру таблицы до формирования данных?
Офлайн
26
Добавить условие, если ключа нет, то в ячейку пишем пустоту/None
Офлайн
0
fongostevА как лучше сделать ?
Зачем тогда задавать структуру таблицы до формирования данных?
ajib6eptУ меня порядка 20 ключей, для каждого мне кажется не очень правильно if писать
Добавить условие, если ключа нет, то в ячейку пишем пустоту/None
Офлайн
4
terickФормируете данные, потом смотрите, какие ключи есть и пишите в файл только их.
А как лучше сделать ?
Отредактировано fongostev (Апрель 21, 2014 07:19:14)
Офлайн
857
terickэто не подходит# Есть list c данными для создания csv data = [ {"name" : "Имя", "address" : "ул. Улица д. 1", "site" : "site.ru", "description" : "Описание"}, {"name" : "Имя1", "site" : "site1.ru", "description1" : "Описание"} ]
>>> d = {'a': 1, 'b': 2} >>> lst = [d.get(i, None) for i in 'abc'] >>> lst [1, 2, None] >>>
Офлайн