使用Python打印列

1 投票
4 回答
5186 浏览
提问于 2025-04-17 09:36

我还是个完全的新手

输入文件:

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 个回答

0

在这个循环里,你并没有对line这个变量做任何事情。试试这样:

lines = open('crap3.txt').readlines()
for line in lines:
    bits = line.split('\t')
    print bits[0]
4

split 这个操作放到循环里面,这样每一行都会执行一次。下面的代码就可以作为你完整的程序:

inData = open("crap3.txt")
for line in inData:
    print(line.split()[1])
8

试试这个:

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

打开文件时,使用 with 是个好习惯。这样在代码块结束时,文件会自动关闭。

撰写回答