Skip to content
Advertisement

How to convert the string to a list of dictionary objects containing two keys with respective values?

I have an external file, and I have to convert the strings from the external file to a list of dictionary objects, containing keys and with respective values. The problem is I keep getting error on the code I already tried, such as “too many values to unpack”. I am really stuck in here.

Here is the code:

def open_file_and_get_content(filename):
    content = open('input.txt', 'r')
    return content


def convert_string_to_list(content):
    list= []
    for line in content:
        (key, val) = line.split()
        list[key] = val

The content of the input.txt looks like this:

"item1", "N"
"item2", "N"
"item3", "N"

Advertisement

Answer

You need to split by , comma. Also you need a dictionary

Use:

result = {}
with open(filename) as infile:
    for line in infile:
        key, value = line.replace('"', "").split(",")
        result[key] = value.strip()
print(result)  

Output:

{"Blake's Wings & Steaks": 'N',
 'Ebi 10': 'N',
 'Hummus Elijah': 'N',
 'Jumong': 'Y',
 'Kanto Freestyle Breakfast': 'Y',
 'Manam': 'N',
 'Refinery Coffee & Tea': 'N',
 'Shinsen Sushi Bar': 'N',
 'The Giving Cafe': 'N',
 'Tittos Latin BBW': 'N',
 'el Chupacabra': 'Y'}
User contributions licensed under: CC BY-SA
4 People found this is helpful
Advertisement