Home >Backend Development >Python Tutorial >How to Create a Single Dictionary from a CSV File in Python?

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-25 18:30:15538browse

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

Creating a Single Dictionary from a CSV File

In this programming endeavor, you aim to construct a singular dictionary from a CSV file, wherein the first column serves as unique keys and the second column embodies their corresponding values.

The Roadblock: Unveiling the ValueError

Your initial approach using csv.DictReader and csv.DictWriter leads to a perplexing ValueError: "too many values to unpack (expected 2)." The crux of this issue lies in the loop within your code, where you attempt to create separate dictionaries for each row in the CSV file.

The Path to Resolution: A Singular Haven for Data

To forge a single dictionary that encapsulates the key-value pairs from the CSV file, you can leverage Python's delightful list comprehension feature. The corrected code snippet below embraces this approach:

import csv

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

Alternatively, for Python versions earlier than 2.7.1, you can opt for the following syntax:

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

With these modifications in place, your code will gracefully construct a solitary dictionary, embracing the unique keys and their accompanying values from the CSV file. Happy coding and data harmony!

The above is the detailed content of How to Create a Single Dictionary from a CSV File in Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn