1
我正在尝试一个商店计划,需要能够打印出收据,包含用户所需的详细信息,然后列印总成本。查找总成本
- 用户输入8位数的条形码
假设这是一个有效的条码类型,程序会在CSV文件中为它寻找与产品,代码和价格表。它看起来像这样。 (每个记录是在不同的列中的Excel打开时)
- 34512340平原托架0.5
- 12395675黄色卷笔刀2
- 56756777100毫米螺栓0.2
- 90673412 L形支架1.2
- 12568673桌面整理3
- 22593672回收箱5
- 65593691 500层压板4.5
- 98593217 200便笺2.5
- 98693214蓝卷笔刀2.1
- 98693399 500值用纸5
- 11813651大班椅65
- 98456390纸盒6
- 98555567打孔3
- 98555550文件柜45
- 98553655订书机2
- 96553657钻15
- 91823656百特棒2
- 99823658透明胶带2
这是如何我搜索CSV
def checkfile(code):
found = None
with open('products.csv', newline='') as f:
reader = csv.reader(f, delimiter='\t')
for line in f:
data = line.split(",")
if code == data[0]:
print("We found your product ",data)
return data
data = code, "is not found. Please try again"
print (data)
- 假设程序找到代码保存在csv文件中,然后将代码行保存为一个名为'product'的变量,并询问用户需要多少(可变数量)
所以,产品看起来像这样 34512340Plain Brackets0.55 和数量是5例如
上述这些问题都写入到哪里接到存储其它文件。 我需要的方式由价格乘以数量(在这种情况下,5×0.55)
我需要以某种方式从代码和产品所有权拆分的价格,但不知道如何...
有任何想法吗?
你应该确保你的代码是否正确缩进 – wpercy
你必须每收到读取CSV?你能不能只加载一次,并将“条形码”设置为字典中的一个关键字,并将项目和价格作为该关键字的值? – roganjosh
我不清楚为什么你将分隔符指定为选项卡,但必须用逗号分隔CSV中的每一行。我从来没有见过这个。由于我_think_你的问题是如何分割一行上的项目,那么你有没有试过'reader = csv.reader(f,delimiter =',')',然后删除'data = line.split(“,”)'? – roganjosh