如何解决如何将csv文件中的值用于新输入?
每当用户输入新项目(例如,奶酪)时,product_id将为8,batch_no将增加1。如何编写代码来做到这一点?如果该商品不在列表中,则商品ID将是最后一个商品ID +1,并且batch_no将为1。
我写了这样的东西,但是不起作用:
导入csv 打开(“ database.csv”,“ a +”,newline =“”)作为csv_file: field_names = [“ product_id”,“ product_name”,“ cost_price”,“ sale_price”,“ stock”,“ batch_no”,“ supply_date”,“ expiry_date”]
csv_reader = csv.DictReader(csv_file,delimiter =",")
csv_writer = csv.DictWriter(csv_file,fieldnames=field_names)
database ={}
database["product_name"] = input("Enter product name: ")
database["cost_price"] = float(input("Enter unit cost price of product: "))
database["sale_price"] = float(input("Enter unit selling price of product: "))
database["stock"] = int(input("Enter the number of stock: "))
database["supply_date"] = input("Enter date in YYYY-MM-DD format: ")
database["expiry_date"] = input("Enter date in YYYY-MM-DD format: ")
highest_id = 0
for row in csv_reader:
if row["product_id"] > highest_id:
highest_id = row["product_id"]
if product_name in database:
database["product_id"] = row["product_id"]
else:
database["product_id"] = highest_id + 1
if product_name not in database:
database["batch_no"] = 1
else:
database["batch_no"] += 1
csv_writer.writerow(database)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。