繁体   English   中英

我如何 select Python 中的 readlines 列表中的项目?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM