【发布时间】:2020-09-24 22:53:56
【问题描述】:
所以我正在用 python 为学校构建一台 atm 机器。除了我想存/取钱时,一切都很好。我的循环只是将整个 csv 文件擦除干净,并且只有最新的条目存在。
所以我要做的是将我的 csv 复制到一个列表中,然后在右侧行中进行更改,然后将其写回 csv,并进行新的更改。
我真的被困在这里了.. =/ 但这是我的代码:
def changeBalance(username):
with open("accounts.csv") as inf:
reader = csv.reader(inf.readlines())
with open("accounts.csv", "w") as inf:
amount = input("Ange belopp: ₹ ")
writer = csv.writer(inf)
for line in reader:
if line[0] == username:
newBalance = str(float(line[2]) + float(amount))
line[2] = newBalance
writer.writerow(line)
print("\nInsatt summa: ₹",(amount) ,(today), (nowTime))
print (f"Aktuellt saldo: ₹ {newBalance}")
break
【问题讨论】:
-
以追加模式打开文件:
with open("accounts.csv", "a") as inf: -
@Mike67 我可能是错的,但我认为如果他要替换现有值,那将行不通。
-
追加将添加一个新行,而不是更改现有行 =/
标签: json python-3.x pandas csv