Python用head将字典写入csv

2024-09-30 10:30:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想写一个特定的python字典到csv头。我看过其他问题,但没有一个问题的字典结构和我的相似:

myDic = { "a" : 1, "b" : 2, "c" : 15}

header = ["word", "count"]

with open('myFile.csv', 'w', encoding='utf-8-sig') as f:
    w = csv.DictWriter(f, header)
    w.writeheader()
    w.writerow(myDic)

我得到的只是CSV文件中的word,count。我正在使用python3。你知道吗


Tags: csv字典ascountwithopenmyfile结构
3条回答

这应该管用

import csv

myDic = { "a" : 1, "b" : 2, "c" : 15}

header = ["word", "count"]

with open('myFile.csv', 'w', encoding='utf-8-sig') as f:
    writer = csv.writer(f)
    writer.writerow(header) # write the header
    for k,v in myDic.items():
        writer.writerow([k,v])

你想把整本字典写成一行。相反,要分别写每一行。你知道吗

更多详情请参见此处:

https://docs.python.org/3/library/csv.html#csv.DictWriter

例如,请参见以下用法:

import csv

myDic = { "a" : 1, "b" : 2, "c" : 15}
with open('myFile.csv', 'w', newline='') as csvfile:
    fieldnames = ['word', 'count']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    for key in myDic:
        writer.writerow({'word': key, 'count': myDic[key]})

如果这有帮助,请告诉我。我没有测试代码。。。但我可能在你看到答案之前。你知道吗

编辑 是的,看起来不错。祝你好运!你知道吗

您不能以那种方式使用DictWriter,它是为key=column_headervalue=[row_values]设计的。你知道吗

相反,您可以迭代字典并使用csv.writerow

import csv

myDic = { "a" : 1, "b" : 2, "c" : 15}

header = ["word", "count"]

with open('myFile.csv', 'w', encoding='utf-8-sig') as f:
    w.writerow(header)
    for k, v in myDic.items():
        w.writerow([k, v])

或作为胡安帕.阿里维拉加指出可以直接在.items()writerows。你知道吗

with open('myFile.csv', 'w', encoding='utf-8-sig') as f:
    w.writerow(header)
    w.writerows(myDic.items())

但是,以这种方式将csv的信息存储在字典中是非常有限的,因为它只能是两列,所以在继续此路径之前,请确保这是一个可接受的选择。你知道吗

相关问题 更多 >

    热门问题