不能将值写入特定的单元格



Python新功能。我试图将输入值存储到特定的单元格。stockleft需要存储在'BARCODE' = BARCODE(用户输入条码),Column ='STOCK'…我做错了什么?

import pandas as pd
import numpy as np
ufo = pd.read_excel('items.xlsx')
wb = load_workbook('items.xlsx')
ws= wb.active
#Columns ='BARCODE','DESCRIPTION','STOCK']
barcode=input("Enter Barcode: ")
stockleft=input("Enter How many are Left: ....")
ws[ufo.loc[ufo['BARCODE'] == barcode ,'STOCK']].value=stockleft #attempt1
#ufo.loc[ufo['BARCODE']==barcode, 'STOCK'] =stockleft #attempt2
wb.save('items.xlsx')

第2次尝试的语法似乎是正确的,它将更新数据帧。stockleft应该是整数,并使用pandas

将相同的数据框保存到excel中。
import pandas as pd
import numpy as np
ufo = pd.read_excel('items.xlsx')
#Columns ='BARCODE','DESCRIPTION','STOCK']
barcode = input("Enter Barcode: ")
stockleft = int(input("Enter How many are Left: ...."))
ufo.loc[ufo['BARCODE']==barcode, 'STOCK'] = stockleft #attempt2
ufo.to_excel('items_modified.xlsx')

您的尝试2看起来是正确的,但是您正在将其应用于ufo,而您正在保存wb。所以,如果你只是看输出文件,你不会看到任何变化,你必须保存数据帧ufo代替。