如果python中有标题,如何从文件中获取数字并将其作为整数读取?

如果python中有标题,如何从文件中获取数字并将其作为整数读取?,python,list,indexing,Python,List,Indexing,我有一个有很多数字的文件,但是有一些标题让我做不了很多事情。该文件如下所示: x: 1 2 3 4 f: 5 6 7 8 h: 9 10 11 12 13 所以我有这个程序,我相信它会帮助我访问这些号码,但我得到了一条关于它的错误信息 filename = input('file: ') f = open(filename, 'r') output=[] w, h = map(int,lines.split()) x=[] for i, line in enumerate(f):

我有一个有很多数字的文件,但是有一些标题让我做不了很多事情。该文件如下所示:

x: 
1 2 3 4 

f: 
5 6 7 8

h:
9 10 11 12 13
所以我有这个程序,我相信它会帮助我访问这些号码,但我得到了一条关于它的错误信息

filename = input('file: ')
f = open(filename, 'r')
output=[]
w, h = map(int,lines.split())
x=[]
for i, line in enumerate(f):
    if i == h:
        break
    x.append(map(int,line.split()[:w]))
output.append(x)
所以我试着将标题条带化,但是我得到一条错误消息,它是字符串之类的

filename = input('file: ')
f = open(filename, 'r')
output=[]
func = f.readline()
lines = func.strip('x').strip('f').strip('h').split()
w, h = map(int,lines.split())
x=[]
for i, line in enumerate(f):
    if i == h:
         break
    x.append(map(int,line.split()[:w]))
output.append(x)
有什么建议吗?

示例

filename = input('filename: ')

with open(filename, 'r') as f:
    for line in f: # line one-by-one
        line = line.strip() # strip to check empty lines
        if line: # skip empty lines
            elements = line.split()
            print(elements[2]) # [column]


在尝试访问列表中的内容之前,您希望验证列表的长度。如果x=[]并且您执行了x[1],您的应用程序将抛出一个错误。您可能想考虑这样做,如果len(x)>0:x[1],我猜您的行是一个字符串,而不是一个列表“[22…]”
filename = input('filename: ')

# get not empty lines
lines = []

with open(filename, 'r') as f:
    for line in f: # 
        line = line.strip() # strip to check empty lines
        if line: # skip empty lines
            elements = line.split()
            lines.append(elements)

# work with lines one-by-one

for line in lines: # 
    print(line[2]) # [column]

# direct access to any element 

print(lines[1][2]) # [row][column]