尝试这个:
import csv
import os
code=input("Enter code to search: ")
with open ("Stock Levels.csv", "r") as stock:
reader=csv.reader(stock, delimiter=",")
with open ("New Stock Levels.csv", "w") as newStock:
writer=csv.writer(newStock, delimiter=",")
for row in reader:
if code in row:
print("Record found! ")
print("Code: "+row[0])
print("Product name: "+row[1])
print("Target level: "+row[2])
target = int(row[2])
print("Current level: "+row[3]+" ")
current = int(row[3])
restock_amount = target - current
restocked_value = restock_amount + current
row[3] = restocked_value
print(row[1]+" has been restocked to "+str(restocked_value))
writer.writerow(row)
os.remove("Stock Levels.csv")
os.rename("New Stock Levels.csv", "Stock Levels.csv")
如果使用open而不是open,则不必关闭文件.
该代码如下所示:
>阅读库存水平(您可能必须将定界符更改为任何
你有)
>查看库存水平的每一行,如果看到,请对其进行修改
您要搜索的代码
>将所有库存水平行写回到新库存
级别,包括修改的行
>删除旧文件以将New Stock Levels.csv文件重命名为旧版本(确保已备份)
>将新的Stock Levels.csv重命名为Stock Levels.csv
我认为您不能直接修改文件,我总是需要读取,修改,写入临时文件然后重命名.