Распечатать колонку с использованием Python - PullRequest
1 голос
/ 05 января 2012

Я новичок

infile:

Baby    1902
Buby    1952
Boby    1950
Daisy   1990
Dassy   1940
Dasay   1960
Rob 1960
Bob 1990
Bolob   1970
Asdf    1999

Код:

#!/usr/bin/python

inData = open('crap3.txt')
Lina = inData.readline()
Lina = Lina.strip()
tmpFields = Lina.split('\t')
for line in inData:
  bla = tmpFields[1]
  print(bla)

Первый год рождения печатается десять раз.Я хотел бы, чтобы это печаталось каждый год.

Ответы [ 4 ]

8 голосов
/ 05 января 2012

Попробуйте:

with open('crap3.txt') as inData:
    for line in inData:
        line = line.strip()
        name, year = line.split('\t', 1)
        print(year)

Хорошо использовать with при открытии файлов.Файл автоматически закрывается в конце блока.

4 голосов
/ 05 января 2012

Переместите split внутри цикла, чтобы это было сделано для каждой строки. Для вашей полной программы достаточно:

inData = open("crap3.txt")
for line in inData:
    print(line.split()[1])
0 голосов
/ 05 января 2012

readline, чтение только одной строки. Таким образом, вы снова и снова перебираете одну и ту же строку.

используйте inData.readlines () или поместите readline в ваш цикл;)

0 голосов
/ 05 января 2012

Вы ничего не делаете с переменной line в цикле. Попробуйте это:

lines = open('crap3.txt').readlines()
for line in lines:
    bits = line.split('\t')
    print bits[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...