Я разбираю большой фрагмент текста в словарях, с целью создания CSV-файла с ключами в качестве заголовков столбцов.Использование DictWriter для записи CSV, когда поля не известны заранее
csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)
Проблема возникает в Словаре для любого «n'th строки может включать в себя новые, никогда ранее не использовали ключ. Затем я хочу, чтобы CSV содержал столбец для этого нового ключа. Короче говоря, все мои поля не известны заранее, поэтому я не могу скомпилировать полный fieldnames
в начале.
Есть ли рекомендуемый способ иметь csv.DictWriter
не игнорировать недостающие поля, а вместо этого добавить их в fieldnames
? Простое изменение fieldnames
в этот момент оставило бы предыдущие строки с неправильным меньшим количеством полей.
Можете ли вы предоставить образец словарной структуру. –
Проблема в том, что ключи dict неизвестны до тех пор, пока код не выполнится, но я хочу, чтобы иметь возможность записывать CSV из списка dicts. Я работаю над этим, компилируя весь список dicts, а затем итерации по ключам, чтобы идентифицировать уникальные ключи, которые я могу использовать для имен полей. Однако по мере роста набора данных я хочу написать CSV, прежде чем я узнаю все диктофоны. – Pranab
Pranab, пожалуйста, просмотрите мой ответ ниже. –