当我在Python中写入CSV文件时,它会复制最后一行的一部分并将其写入文件的底部



我正在将用户数据保存到CSV文件中。当我尝试更新用户信息时,信息会得到适当的更新,但它也会复制最后一行的最后几个字符,创建一个新行并粘贴。

这是我的代码

(索引和新索引是列表行中有2个不同用户的索引(

with open(filename,'r+',newline='') as f:
reader = csv.reader(f)
lines = list(reader)

with open(filename,'r+',newline='') as f:
writer = csv.writer(f)
lines[index][3]= inv
lines[index][2] = money
lines[newindex][2] = sellermoney
lines[newindex][8] = shopitems
writer.writerows(lines)
f.close()

提前感谢

这是因为open函数的mode误用。

r+更新文件内容。因此,如果新内容的大小较小,则会保留以前的内容。

因此,在您的情况下应该使用w

了解更多关于开放式功能的信息

最新更新