how to write a dictionary with one key multiple values to a csv file

后端 未结 3 1336
南笙
南笙 2021-01-27 07:13

I have a dictionary of the following form

>>> {\'1\' : [V3210 , 234567 ,1235675 , 23], \'2\' : [v3214 , 5678 ,65879 ,89} , ...}

how to

相关标签:
3条回答
  • 2021-01-27 08:07

    Use the builtin csv module. This is assuming you want it in a key,value1,value2,... format.

    import csv
    
    with open('filename', 'w') as f:
        c = csv.writer(f)
    
        for key, value in d.items():
            c.writerow([key] + value)
    
    0 讨论(0)
  • 2021-01-27 08:07

    Assuming the numeric keys are line numbers, try something like this:

    theDict = {'1' : [V3210 , 234567 ,1235675 , 23], '2' : [v3214 , 5678 ,65879 ,89] }
    largestkey=max(map(int,theDict.keys()))
    with file("out.csv") as f:
        for linenum in range(largestkey+1):
            f.write(",".join(theDict[str(linenum)])
            f.write("\n")
    

    You'll want to look at Python's string API, list handling, and file handling to get more familiar with Python...

    0 讨论(0)
  • 2021-01-27 08:07

    Using Python's csv module would make doing this super simple:

    import csv
    
    d = {'1' : ['V3210', 234567, 1235675, 23], '2' : ['v3214', 5678, 65879 ,89], }
    
    with open('output.csv', 'wb') as csvfile:
        csv.writer(csvfile).writerows([row[0]] + row[1] for row in d.iteritems())
    

    Note the iteritems() dictionary method is gone in Python 3, so you'd need to use d.items() instead.

    0 讨论(0)
提交回复
热议问题