«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как создать единый словарь из CSV-файла в Python?

Как создать единый словарь из CSV-файла в Python?

Опубликовано 22 ноября 2024 г.
Просматривать:121

How to Create a Single Dictionary from a CSV File in Python?

Создание единого словаря из CSV-файла

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

Контроль: обнаружение ошибки ValueError

Ваш первоначальный подход с использованием csv.DictReader и csv.DictWriter приводят к недоумению ValueError: «слишком много значений для распаковки (ожидается 2)». Суть этой проблемы заключается в цикле вашего кода, в котором вы пытаетесь создать отдельные словари для каждой строки в файле CSV.

Путь к решению: единственное убежище для данных

Чтобы создать единый словарь, инкапсулирующий пары ключ-значение из CSV-файла, вы можете использовать замечательную функцию Python для понимания списков. Исправленный фрагмент кода ниже использует этот подход:

import csv

with open('coors.csv', mode='r') as infile:
    reader = csv.reader(infile)
    mydict = {rows[0]: rows[1] for rows in reader}

В качестве альтернативы для версий Python до 2.7.1 вы можете выбрать следующий синтаксис:

mydict = dict((rows[0],rows[1]) for rows in reader)

С этими изменениями ваш код будет изящно создавать отдельный словарь, использование уникальных ключей и сопровождающих их значений из файла CSV. Приятного кодирования и гармонии данных!

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3