Python在重新打开后编辑.csv
我想创建一个表单,您可以在其中填写输入,并将数据保存在.csv文件中。但是,如果我关闭脚本并再次打开它,以添加更多条目,那么它将删除.csv文件中的旧条目。我怎样才能添加新信息,而不删除旧信息。如果不可能,我如何创建一个随机文件名,如:mydata_random.csv 剧本:Python在重新打开后编辑.csv,python,csv,Python,Csv,我想创建一个表单,您可以在其中填写输入,并将数据保存在.csv文件中。但是,如果我关闭脚本并再次打开它,以添加更多条目,那么它将删除.csv文件中的旧条目。我怎样才能添加新信息,而不删除旧信息。如果不可能,我如何创建一个随机文件名,如:mydata_random.csv 剧本: import sys try: d = open("mydata.csv" , "w") except: print("Couldn't open the file") sys.exit(0)
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()
问题在于打开文件时使用的模式
d=open(“mydata.csv”,“w”)
使用模式w
,该模式将在每次保存时覆盖文件
d=open(“mydata.csv”,“a”)
使用模式a
,该模式将在每次保存时附加到文件中
您可以在此处阅读有关其他打开模式的更多信息:这里的问题是您正在以写入模式
w
打开文件。第二次甚至第一次打开它时,您需要以追加模式a
d=open(“mydata.csv”,“w”)
所以这个代码将成为
d=open(“mydata.csv”、“wa”)
现在,您可以添加任意数量的条目
签出的答案应有助于您在附加模式下打开文件,
a
,而不是在写入模式下,w
。