[英]How do i select an item from readlines lists in Python?
所以这就是我到目前为止的 class 项目
import os
UserSelection = input("Select a txt file: ")
with open(UserSelection, 'r', encoding= "latin-1") as f:
lines= f.readlines()
print("These are your headers:", lines[0])
state = words()[6]
for i in range(1,len(lines)):
words=line.split
if(words()[6] == 'California'):
print(lines)
我有一个很大的人口普查表,我试图只保留 STATE(即第 6 个索引)为 CA 的行。 我认为words()[6]
会这样做,但事实并非如此。 提前谢谢!
欢迎来到 SO。 在您发布的代码中,有几行不太清楚理解。
1) print("These are your headers:", lines[0])
没有正确缩进。
2) state = words()[6]
此行之前未定义单词。
3) for i in range(1,len(lines)):
在这一行中,您正在迭代没有第一行的行索引可以用line in lines[1>]:
替换。
4) words=line.split
列表中的拆分方法可以在 python 中调用,所以在使用该方法时应该使用 ()。
5) if(words()[6] == 'California'):
不像分割词是一个变量而不是一个方法,所以它不应该用 () 来调用。
我理解的代码应该是代码的方式更像
import os
userSelection = input("Select a txt file: ")
with open(userSelection ,'r', encoding= "latin-1") as f:
lines= f.readlines()
print("These are your headers:", lines[0])
for line in lines[1:]:
words=line.split()
if words[6] == 'California':
print(lines)
它确实有效。 您的错误是缩进。 此外,您还有其他一些小错误。
. . .
for i in range(1,len(lines)):
words=line.split()
if (words[6] == 'California'):
print(lines)
.split()
是一个 function 并且应该被称为一个。
也不需要不必要的缩进。 用旧for
循环替换上面的代码片段就可以了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.