Invalid literal for int() with base 10: 'import os'

I wirte the data to *.txt and use pandas.read_csv() to get the data.
But it shows errors as follows:

How can I do?

Can u double check ur .txt file, it seems that there is an “import os” in it.

>>> int('import os')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'import os'
1 Like

The error message invalid literal for int() with base 10 would seem to indicate that you are passing a string that’s not an integer to the int() function . In other words it’s either empty, or has a character in it other than a digit.

You can solve this error by using Python isdigit() method to check whether the value is number or not. The returns True if all the characters are digits, otherwise False .

if val.isdigit():

The other way to overcome this issue is to wrap your code inside a Python try…except block to handle this error.

Python2.x and Python3.x

Sometimes the difference between Python2.x and Python3.x that leads to this ValueError: invalid literal for int() with base 10 .

With Python2.x , int(str(3/2)) gives you “1”. With Python3.x , the same gives you (“1.5”): ValueError: invalid literal for int() with base 10: “1.5”.

You can solve this error by using Python isdigit() method to check whether the value is number or not. The returns True if all the characters are digits, otherwise False

The error message invalid literal for int() with base 10 would seem to indicate that you are passing a string that’s not an integer to the int() function. In other words, it’s either empty or has a character in it other than a digit.