2016-11-21 3 views
-1

Я пытаюсь взять файл и создать отдельный список каждой строки файла, который имеет комбинацию целых чисел и строк, но я получаю эту ошибку, TypeError: integer argument expected, got 'str'. Зачем?Ошибка получаемого типа: целочисленный аргумент, ожидаемый получил 'str'

def main(): 

    #open files allstar, playoffs, and regular season and create list by lines 
     with open("C:\\Users\\wittn\\OneDrive\\Documents\\Project\\databasebasketball20_1\\player_regular_season.txt", "r") as reg_season: 

      lst = list() 

      for list_lines in reg_season : 

       line = reg_season.readlines(list_lines.strip()) 
       words = line.split (",") 
      lst = [words] 
     print (lst)    
main() 
+0

Добра пожаловать в Stack Overflow. Может быть, вы могли бы объяснить, что * вы думаете, что каждая строка вашей программы делает. Кроме того, обязательно укажите, какая строка генерирует исключение. Ваш отладчик или интерпретатор Python должен был сообщить вам эту информацию, и это ключевая информация для включения в ваш вопрос. –

+0

@RobKennedy вправо, я слишком быстро прочитал код – Julien

ответ

-1

При чтении из файла он загружает его в качестве строки использовать int(), чтобы бросить его в целое число

Если вы не знаете, какие значения являются целыми числами, и какие строки пытаются использовать что-то вроде этого, заменив lst=[words]

words = line.split(",") 
lst = [] 
for word in words: 
    try: 
     lst.append(int(word)) 
    except: 
     lst.append(word) 

Этот алгоритм пытается преобразовать каждое слово к междунар и если он не может просто сохранить его в виде строки

Вашей ошибка происходит потому, что при чтении из файла он читает все в виде строки, и вам нужно вручную преобразовать в ИНТЕ

Надеется, что это помогает

+0

Где в исходном коде должен быть * этот * код go? Не могли бы вы объяснить, почему это решило ошибку? –

+0

надеюсь, что он станет более понятным – Padskiiz

+0

Я все еще получаю ту же ошибку. – Wittney

Смежные вопросы