2016-11-21 104 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

欢迎堆栈溢出。也许你可以解释你认为你的程序的每一行都在做什么。另外,请务必提及哪一行会引发异常。你的调试器或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) 

该算法试图将每个单词转换为int,如果它不能仅仅将其保存为一个字符串

你的错误发生,因为从文件中读取时,它读取的一切作为一个字符串,你需要手动转换为int

希望这有助于

+0

在原代码中应该* this *代码去哪里?你能解释为什么它能解决报告的错误吗? –

+0

希望能让它更清晰 – Padskiiz

+0

我仍然收到同样的错误。 – Wittney

相关问题