Python line.split 从文本文件中出现语义错误

0 投票
5 回答
3513 浏览
提问于 2025-04-15 15:26

这段代码本来是想从文本文件中提取第二列的值,结果却提取到了第二个字母。有没有人知道我哪里出错了?

TEXTFILE  
opi 60  
kid 60  
pou 60  
ret 60  
kai 60  
bob 100  

for line in lst:                          
    line.split(' ')  
    fire.append(int(line[1]))
    print(line[1])  

5 个回答

0
line.split(' ') 

你的错误在这里,split 这个函数并不是把 line 拆分开,而是返回一个已经拆分好的行。所以你需要做的是

columns = line.split(' ')

用列来代替

1

这个方法也应该可以用

import csv
for line in csv.reader(open("datafile"), delimiter=" "):                          
    fire.append(int(line[1]))
    print(line[1])

另外一种方法

from operator import itemgetter
import csv
f=csv.reader(open("datafile"),delimiter=' ')
fire+=[int(x[1]) for x in f]
1

你可能想要做类似这样的事情:

mylist = []

for line in file:
    firstcolval, secondcolval = line.split()
    mylist.append(int(firstcolval))

撰写回答