Home >Backend Development >Python Tutorial >How to Create a Single Dictionary from a CSV File in Python?
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.
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.
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!