使用Python打印列
我还是个完全的新手
输入文件:
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
是个好习惯。这样在代码块结束时,文件会自动关闭。