如果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]