从ASCII HDR文件python解析一行

从ASCII HDR文件python解析一行,python,parsing,matplotlib,ascii,Python,Parsing,Matplotlib,Ascii,我在解析hdr文件中的一行时遇到困难。当我像下面的代码一样打印读取(数据)时,命令窗口输出hdr文件的内容。然而,当我试图解析一行或一列时,就像下面的脚本一样,它在命令窗口中不输出任何内容 import numpy as np import matplotlib.pyplot as plt f = open('zz_ssmv11034tS__T0001TTNATS2012021505HP001.Hdr', 'r') data = f.read() print (data) for line

我在解析hdr文件中的一行时遇到困难。当我像下面的代码一样打印读取(数据)时,命令窗口输出hdr文件的内容。然而,当我试图解析一行或一列时,就像下面的脚本一样,它在命令窗口中不输出任何内容

import numpy as np
import matplotlib.pyplot as plt

f = open('zz_ssmv11034tS__T0001TTNATS2012021505HP001.Hdr', 'r')
data = f.read()
print (data)

for line in f:
    columns = line.split()
    time = float(columns[2])
    print (time)

f.close()

删除这两行并再次执行代码:

data = f.read()
print (data)
然后更改循环:

for line in f.readlines():
    columns = line.split()
    time = float(columns[2])
    print (time)
调用read()读取整个文件,并将读取光标保留在文件的末尾(不再读取)。如果希望一次读取一定数量的行,可以使用readline(),readlines()


阅读帖子

删除行
打印(数据)
将无效;光标此时已经在文件的末尾。他说“当我打印读取(数据)时,如命令窗口下面的代码中所示,输出hdr文件的内容”,然后光标指向文件的末尾,我的意思是删除这一行,然后再试一次。您的回答开始:“删除这一行:
print(data)
”。这样做绝对不会改变任何事情。@DSM对不起,那是我的错,我改变了。