Python在重新打开后编辑.csv

2024-09-29 00:20:34 发布

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

我想创建一个表单,您可以在其中填写输入,它将数据保存在.csv文件中。但是如果我关闭脚本并再次打开它,以添加更多的条目,那么它将删除.csv文件中的旧条目。我如何才能添加新的信息,它不会删除旧的。如果这是不可能的,我如何创建一个随机文件名,如:mydata_随机.csv? 你知道吗

剧本:

import sys

try:
    d = open("mydata.csv" , "w")
except:
    print("Couldn't open the file")
    sys.exit(0)

li = [1, "John Doe", "xxx"]
d.write(str(li[0]) + ";" + li[1] + ";"
    + str(li[2]).replace(".",",") + "\n")

dli = [[2, "John Doe" , "yyy"],  [3, "John Doe", "zzz"]]
for element in dli:
    d.write(str(element[0]) + ";"
        + element[1] + ";"
        + str(element[2]).replace(".",",") + "\n")
d.close()

Tags: 文件csv表单sys条目lielementopen
2条回答

这里的问题是,您正在以写模式w打开文件。第二次甚至第一次打开它时,您需要以附加模式打开它a

d = open("mydata.csv" , "w")

所以这个代码会变成

d = open("mydata.csv" , "wa")

现在您可以添加任意多个条目。你知道吗

查看this question的答案应该对你有帮助

问题是打开文件时使用的模式。你知道吗

d = open("mydata.csv" , "w")使用模式w,该模式将在每次保存时覆盖文件。你知道吗

d = open("mydata.csv" , "a")使用模式a,该模式将在每次保存时附加到文件。你知道吗

您可以在这里阅读有关open的其他模式的更多信息:https://docs.python.org/2/library/functions.html#open

相关问题 更多 >