我有這段代碼可以讓我計算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