首页 > 解决方案 > 如何在csv文件的每一行中写入字典的每一项?

问题描述

我有一本这样的字典:(我,我使用 Python 3.9)

myDict = {'hamid': 25,
'john' : 15,
'mike': 14.666666666666666
'tim': 16.6
'joana': 13.666666666666666
'hana': 10.666666666666666
}

字典中的值必须是整数

我想将每个项目写在名为 Results.csv 的 csv 文件的一行中,并且必须完全像这样:(每个键和它的值都在 csv 文件的一行中)

hamid,25
john,15
mike,14.666666666666666
tim,16.6
joana,13.666666666666666
hana,10.666666666666666

对于第二个问题:

我怎样才能写出其中 3 个具有更高值(其中 3 个降序)的值,如下所示:

hamid,25
john,15
tim,16.6

或像这样升序 3 个:

mike,14.666666666666666
joana,13.666666666666666
hana,10.666666666666666

价值观应该四舍五入

谢谢

标签: pythoncsvdictionary

解决方案


我认为这会奏效。

import csv
from os import read
myDict = {'hamid': 25,
'john' : 15,
'mike': 14.666666666666666,
'tim': 16.6,
'joana': 13.666666666666666,
'hana': 10.666666666666666
}
with open("Data.csv","w") as file:
    reader=csv.writer(file)
    for value,item in myDict.items():
        reader.writerow((value,item))

这是输出:

hamid,25

john,15

mike,14.666666666666666

tim,16.6

joana,13.666666666666666

hana,10.666666666666666

对字典进行排序:

MyDict = sorted(myDict.items(), key=lambda x: x[1], reverse=True)
print(MyDict)


推荐阅读