Как записать словарь в CSV в Python?

CSV (значения, разделенные запятыми) — наиболее распространенный формат файлов, широко поддерживаемый многими платформами и приложениями. Используйте модуль CSV из стандартной библиотеки Python. Самый простой способ — открыть CSV-файл в режиме ‘w’ с помощью функции open() и записать пары ключ-значение через запятую.

Как записать словарь в Python в CSV файл

Преобразование словаря Python в CSV

Чтобы преобразовать и записать словарь в csv в Python, используйте метод csv.DictWriter(). Метод DictWriter() создает объект, который работает как обычный модуль записи, но сопоставляет словари с выходными строками.

  • Во-первых, нам нужно импортировать модуль CSV.

  • Далее мы определим словарь.

  • Теперь мы используем функцию open(), чтобы открыть файл в режиме записи, и используем метод Dictionary.keys(), чтобы записать данные CSV в файл.

См. следующий код.

Вывод:

Модуль CSV содержит метод DictWriter, которому для записи требуется имя файла CSV, и объект списка, содержащий имена полей.

Метод writeheader() записывает первую строку в файл CSV в виде имен полей. Последующий цикл for записывает каждую строку в форме CSV в файл CSV.

Дополнительные примеры

Давайте запишем больше данных в файл CSV.

См. следующий код.

Вывод:

Мы используем DictWriter.writerow() для записи одной строки. DictWriter.writeheader() — если вам нужен заголовок для вашего CSV-файла.

Кроме того, мы использовали оператор with для открытия файлов. Он не только более питонический и читаемый, но и обрабатывает закрытие для вас, даже когда возникают исключения.

Итак, в приведенном выше примере мы использовали следующие функции Python CSV.

Python CSV.DictWriter()

Она создает объект, который работает как обычный модуль записи, но сопоставляет словари с выходными строками. Параметр fieldnames представляет собой последовательность ключей, определяющих порядок, в котором значения из словаря, переданного методу writerow(), записываются в файл f.

Необязательный параметр restval указывает значение, которое должно быть записано в словарь без ключа в именах полей.

Если словарь, переданный методу writerow(), содержит ключ, не найденный в именах полей, необязательный параметр extrasaction указывает, какое действие следует предпринять.

Если установлено значение «raise», повышается значение по умолчанию, ValueError. Если установлено значение «ignore», лишние значения в словаре игнорируются. Любые другие необязательные или ключевые аргументы передаются базовому экземпляру модуля записи.

DictWriter.writeheader()

Эта функция используется для записи строки с именами полей (как указано в конструкторе) в объект файла средства записи, отформатированный в соответствии с текущим диалектом. Возвращает возвращаемое значение вызова csvwriter.writerow(), используемое для внутренних целей.

csvwriter.writerow(row)

Функция состоит в том, чтобы записать параметр строки в файловый объект средства записи, отформатированный в соответствии с текущим диалектом. Возвращаемое значение вызова метода записи базового файлового объекта.

Python csvwriter.writerows(rows)

Эта функция записывает все элементы в строках (итерация объектов строк, как описано выше) в файловый объект средства записи, отформатированный в соответствии с текущим диалектом.

Оцените статью

Автор статей и разработчик, делюсь знаниями.

Программирование на Python