在Python中,我得到了'TypeError:not all arguments converted during string formatting'
我不知道为什么会这样。这一行被突出显示为问题所在-data.append('%s,%s,%s'%line['code'],line['level'],line['target'],line['distancefromtarget']
有人能找到问题吗
如果有帮助的话,这是这一行的其他代码
def updatestocklevel(quantity, stocklevel, code):
with open('stockcontrol.csv',newline='') as f:
for line in f:
if code in line:
data = line.split(",")
target = (data[2])
updatetarget = int(target) - int(stocklevel)
newlevel = stocklevel - quantity
stocklevel = str(stocklevel)
newlevel = str(newlevel)
updatetarget = str(updatetarget)
import sys
import csv
data=[]
code = code
newval= newlevel
newtlevel = updatetarget
f=open("stockcontrol.csv")
reader=csv.DictReader(f,fieldnames=['code','level', 'target', 'distancefromtarget'])
for line in reader:
if line['code'] == code:
line['level']= newval
line['distancefromtarget']= newtlevel
data.append('%s,%s,%s'%(line['code'],line['level'],line['target'],line['distancefromtarget']))
f.close()
f=open("stockcontrol.csv","w")
f.write("\n".join(data))
f.close()
谢谢你
有一个包含4个元素的元组:
但只有3个替换占位符:
当您尝试格式化它时,并不是所有的“参数”(元组元素)都将转换为格式化的字符串(因此会出现错误)。要么更改元组以删除元素,要么更改正在插入的字符串以添加另一个字段(例如
'%s,%s,%s,%s'
)相关问题 更多 >
编程相关推荐