Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Converting the values of the dictionary in to a file in Python

I have a dictionary say : my_map_dict which looks something like below:

{2: [['1', '2', '4', '4', '0', '2', '0', '0.67'], ['5', '6', '3', '8', '0', '2', '1', '0.67'], ['6', '9', '4', '9', '0', '2', '2', '0.67'], ['4', '3', '6', '9', '0', '2', '3', '1.00']], 3: [['4', '6', '6', '1', '0', '3', '0', '0.67'], ['5', '9', '4', '8', '0', '3', '1', '0.67']], 4: [['1', '9', '4', '9', '0', '4', '0', '0.67']]}

Where 2,3,4 are the keys of the dictionary and those lists are the values of that.

Now I want to generate a file from this say outputfile.txt which will take all the values of the dictionary and make that a CSV file which looks like below (desired output):

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

1,2,4,4,0,2,0,0.67
5,6,3,8,0,2,1,0.67
6,9,4,9,0,2,2,0.67
4,3,6,9,0,2,3,1.00
4,6,6,1,0,3,0,0.67
5,9,4,8,0,3,1,0.67
1,9,4,9,0,4,0,0.67

How can I do it?

>Solution :

Flatten the values of your dictionary to a single list of lists, and use the csv module to write to file:

import csv

with open("output.csv","w",newline="") as f:
    writer = csv.writer(f)
    writer.writerows([item for sublist in d.values() for item in sublist])
output.csv
1,2,4,4,0,2,0,0.67
5,6,3,8,0,2,1,0.67
6,9,4,9,0,2,2,0.67
4,3,6,9,0,2,3,1.00
4,6,6,1,0,3,0,0.67
5,9,4,8,0,3,1,0.67
1,9,4,9,0,4,0,0.67
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading