Я храню информацию, прочитанную из нескольких файлов, в словаре словарей.Один фрагмент информации будет гарантирован и должен быть уникальным, поэтому он является ключом для большей словарной статьи.Есть другие атрибуты, которые связаны с каждой ключевой записью, которые не всегда могут быть определены.Я также не хочу, чтобы в коде были жестко закодированные значения, чтобы получить только определенные атрибуты.
Например, файл, который я анализирую, имеет такие данные:
id=1
length=10
width=11
id=2
width=1
length=4
height=2
id=3
some user defined attribute=making life easy
Синтаксический анализданные тривиальны, и я сохраняю каждый элемент в виде словаря атрибутов, а id
используется в качестве ключа в большем словаре.(Несколько файлов помещаются в один словарь.)
Я застрял в том, как наилучшим образом получить все атрибуты, чтобы вытолкнуть данные в файл отчета csv, используя csv.DictWriter
, чтобы я могтогда есть что-то вроде этого:
(псевдо CSV-форматирование)
id, length, width, height, 'some user defined attribute',
1, 10, 11, , ,
2, 1, 4, 2, ,
3, , , , making life easy,
Я думаю, что мои варианты:
- Соберите их, как я строю словарь хранения всписок.За исключением того, что мне нужно передать список вместе со словарем.
- Запустить словарь и создать его после. Неэффективно.
- Альтернатива «Собрать их», расширить словарь и добавить эту функциональность к нему, когда я добавляю элементы.