我有这段代码可以让我计算Python 3.6中脚本的csv中缺失的数字行数。然而,这些程序中的以下错误:Python 3中的ValueError代码
错误:
Traceback (most recent call last):
File "C:\Users\GapReport.py", line 14, in <module>
EndDoc_Padded, EndDoc_Padded = (int(s.strip()[2:]) for s in line)
File "C:\Users\GapReport.py", line 14, in <genexpr>
EndDoc_Padded, EndDoc_Padded = (int(s.strip()[2:]) for s in line)
ValueError: invalid literal for int() with base 10: 'AC-SEC 000000001'
代码:
import csv
def out(*args):
print('{},{}'.format(*(str(i).rjust(4, "0") for i in args)))
prev = 0
data = csv.reader(open('Padded Numbers_export.csv'))
print(*next(data), sep=', ') # header
for line in data:
EndDoc_Padded, EndDoc_Padded = (int(s.strip()[2:]) for s in line)
if start != prev+1:
out(prev+1, start-1)
prev = end
out(start, end)
我难倒就如何解决这些issues.Also,我觉得CSV其中有很多行,所以如果有一个部分将其限制为几个数字,请随时更新我的内容。
CSV片段(很抱歉,如果我没有明确之前!):
错误是告诉你,你不能将'AC-SEC 000000001'转换为一个整数。这是有道理的。但是,我们无法看到CSV的示例,因此我们无法帮助解决该问题。 – roganjosh
我最近编辑了一张csv的图片。希望有所帮助。 – PythonGroupie
这只是一个猜测,但是基于这个例子,它看起来像你可能想要''EndDoc_Padded1,EndDoc_Padded2 =(int(s.split()[1])。 – 0x5453