即使我没有将字典键/字段名放入 CSV 文件中,我的代码仍然有效

问题描述 投票:0回答:1
import csv

phone = input("Enter phone name")
os = input("Enter OS")

with open("phos.csv", "a") as phos:
    phos_dict = csv.DictWriter(phos, fieldnames = ["phone_model", "phone_os"])
    phos_dict.writerow({"phone_model": phone, "phone_os": os})

即使我将 CSV 文件留空,上面的代码也能正常工作。那么代码如何知道如何正确实现/写入字典到 phos.csv 文件?

python csv dictionary key-value field-names
1个回答
0
投票

之所以有效,是因为您设置了

fieldnames
。然后,当您发送带有正确键的字典时,代码知道将值放在哪里。

如果您在

key:value
中传递了一个
phos_dict.writerow({"phone_model": phone, "phone_os": os})
而在
fieldnames = ["phone_model", "phone_os"]
中未实现,您将收到以下错误:

ValueError: dict contains fields not in fieldnames

© www.soinside.com 2019 - 2024. All rights reserved.