在Python

时间:2016-09-26 08:37:27

标签: python integer rows

我在每个文件中都有一个包含字符串项的csv文件。 (尽管有些是整数输入)。我希望从行[5]中减去行[3],但是不能完全弄清楚这样做的语法。有人可以帮忙吗?

print("PRINT RECORD" + '\t'+ row[0]+ '\t' + int(row[5])-int(row[3]))

错误消息是:

ValueError: invalid literal for int() with base 10: 'Target Stock'

我尝试了许多不同的工作

更新

ID NO.     Description       Price  Current Stock   Re Order    Target Stock
12345670    x                  500            2         3          5
12121212    y                  900            1         3          5

我需要减去语句(在本例中):5-2然后是5-1

更新:

我试过

while row[5] and row[3] != str:
                    print("LOW STOCK" + '\t'+ row[0]+ '\t' + (int(row[5])-int(row[3])))

仍然是同样的错误。

更新 我添加了标题搜索...但是出现以下错误

 l=str(row[4])
        for row in reader:
            if(row[3])< (row[4]):
                has_header = csv.Sniffer().has_header(inf.read(1024))
                if has_header:
                    next(incsv)  # skip header row
                    lowstock="true"
                    targetstock_r= int((row[5]))
                    currentstock_r=int((row[3]))
                    reorderstock_r=int((row[4]))
                    writer.writerow(("LOWSTOCK", row[0],(targetstock)-(row[3])))

错误消息:

NameError: name 'inf' is not defined

0 个答案:

没有答案