Python在文件中读取并使用空格将其解析为变量

时间:2016-10-18 14:20:48

标签: python parsing

我有一个文本文件(Students.txt)我需要读入python并将它们解析为变量first_name,middle_name,last_name,student_id。文本文件的前几行如下所示:

Last Name  Midle Name  First Name   Student ID  
----------------------------------------------
Howard     Joe          Moe         howar1m     
Howard                  Curly       howar1c     
Fine       Ken          Lary        fine1l   

我试过的代码

f = open("Students.txt")
for line in f:
    fields = line.strip().split()
    last_name = fields[0]

仅适用于姓氏,因为如果我尝试fields[1]作为中间名,我会得到一个"列表索引超出范围"错误。我已尝试使用if not line.startswith('Middle Name'): continue,但它无法识别该列。              有没有人有更好的方法来解决如何将它们解析为各自的变量?

1 个答案:

答案 0 :(得分:0)

可能你应该使用readlines(),然后跳过每一行,跳过前两行。因此代码看起来像

f = open("Student.txt")
lines = f.readlines()
print lines
for line in lines[2:]:
    fields = line.split()
    last_name = fields[0]
    middle_name = fields[1]