微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将csv文件中的值用于新输入?

如何解决如何将csv文件中的值用于新输入?

image of the csv file

每当用户输入新项目(例如,奶酪)时,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 举报,一经查实,本站将立刻删除。