J'ai ce code qui me permettra de compter le nombre de lignes de numéros manquants dans le csv pour un script en Python 3.6. Cependant, ce sont les erreurs suivantes dans le programme:ValueError dans le code Python 3
Erreur:
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'
code:
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)
Je suis perplexe sur la façon de résoudre ces issues.Also, je pense que le csv beaucoup de lignes, donc s'il y a une section qui limite à quelques chiffres, n'hésitez pas à me mettre à jour.
CSV Snippet (Désolé si je n'étais pas clair avant!):
L'erreur vous indique que vous ne pouvez pas convertir 'AC-SEC 000000001' en nombre entier. C'est logique. Cependant, nous ne pouvons pas voir un exemple de CSV, nous ne pouvons donc pas l'aider à le résoudre. – roganjosh
J'ai récemment édité une photo du csv. J'espère que cela pourra aider. – PythonGroupie
Ceci est juste une supposition, mais basé sur l'exemple, il semble que vous pourriez vouloir quelque chose comme 'EndDoc_Padded1, EndDoc_Padded2 = (int (s.split() [1]) pour s dans la ligne)'? – 0x5453