Ваше стремление беспрепятственно записывать словари Python в файлы CSV привело вас к неожиданной проблеме. Хотя вы предполагаете четкое разграничение между ключами словаря в заголовке и их значениями во второй строке, ваш текущий подход, похоже, не соответствует действительности. Давайте углубимся в детали и найдем решение.
Проблема заключается в выборе метода. Функция DictWriter.writerows() ожидает ввода нескольких словарей. Однако, поскольку у вас есть только один словарь, вам следует использовать DictWriter.writerow(). Этот метод хорошо работает с отдельными словарями, позволяя вам установить точную структуру заголовков и значений.
Для дальнейшего совершенствования вашего подхода рассмотрите возможность применения оператора with при открытии файлов. Этот метод Pythonic упрощает обработку файлов, автоматически закрывая файлы даже при возникновении исключений.
Вот оптимизированный фрагмент, соответствующий этим рекомендациям:
import csv
my_dict = {"test": 1, "testing": 2}
with open("mycsvfile.csv", "w", newline="") as f:
w = csv.DictWriter(f, my_dict.keys())
w.writeheader()
w.writerow(my_dict)
Выполнив этот код, вы получите правильно отформатированный файл CSV с ключами словаря в качестве заголовка и соответствующими значениями во второй строке:
test,testing
1,2
Не забудьте указать newline="" при открытии файла, чтобы отключить встроенное управление новой строкой Python, что позволит средству записи CSV обрабатывать новые строки независимо. Это обеспечивает плавную интеграцию со спецификациями форматирования CSV.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3