使用用户输入在csv文件中修改字典并保存

时间:2019-07-05 09:38:25

标签: python-3.x csv dictionary

无论是在这里还是在互联网上,我都无法找到解决问题的直接方法(也许是一个非常简单的方法,但是仍然...)。

我已经创建了一个词典,并使用csv.DictWriter

将其保存在CSV文件中
# Starting dict
d= {'key1':'value1', 'key2':'value2'}

# Writing down the dict and saving
with open('mycsvDict.csv', 'w') as f:
    w= csv.DictWriter(f, d.keys())
    w.writeheader()
    w.writerow(d)

现在我将字典保存在CSV文件中,现在我将其读回到字典中,并尝试通过用户输入对其进行修改。

# Ask user for new key, value
data_to_append= {}
user_key= input("Write new key: ")
user_val= float(input("Insert new value: "))

data_to_append[user_key]= user_val

#trying to append in the file
with open('mycsvDict.csv', 'a') as app_f:
    from csv import writer
    w= csv.DictWriter(app_f, data_to_append.keys())
    w.writerow(data_to_append)

print(data_to_append)

我从用户(ofc)正确打印了带有新键和值的新字典,但是我的CSV文件没有被修改。 我无法保存新的更新版本。 我在做什么错了?

1 个答案:

答案 0 :(得分:0)

这应该符合您的预期

with open('mycsvDict.csv', 'a') as app_f:
    for key in data_to_append.keys():
        app_f.write("%s,%s\n" % (key, data_to_append[key]))