python line.split文本文件语义错误
这段代码应该创建一个列表,其中包含文本文件中第二列的值,但它使用第二个字母。有人知道我的问题是什么吗python line.split文本文件语义错误,python,string,Python,String,这段代码应该创建一个列表,其中包含文本文件中第二列的值,但它使用第二个字母。有人知道我的问题是什么吗 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]) 您的错误就在这里,拆分不会拆分
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])
您的错误就在这里,拆分
不会拆分行
,而是返回一个行拆分。所以你需要做的是
columns = line.split(' ')
并使用列来代替您可能希望执行以下操作:
mylist = []
for line in file:
firstcolval, secondcolval = line.split()
mylist.append(int(firstcolval))
这也应该起作用
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]
你可以用一个简单的一行
fire = [int(b) for a, b in line.split(" ") for line in lst]
好的,既然split创建了一个新对象(至少包含一个元素的列表),您应该执行以下操作: for line in lst: lc = line.split(' ') fire.append(int(lc[1])) print lc[1] 对于lst中的线: lc=行分割(“”) fire.append(int(lc[1])) 打印信用证[1] 但正如已经有人建议的那样,您可以在一行中使用列表理解来完成: newlist = [int(current[1]) for current in line.split(" ") for line in lst] newlist=[int(current[1])表示行中的当前值。拆分(“”)表示行中的lst] 这类似于:在lst中,我们用空格分隔行,并将索引为1的元素从拆分行(当前[1])转换为int添加到新列表中 newlist = [int(current[1]) for current in line.split(" ") for line in lst]