从python中的文本文件中提取数据

时间:2019-06-13 13:06:53

标签: python

我需要编写一个python函数,该函数读取和存储如下所示的文本文件中的值:

enter image description here

我需要存储变量ncols,nrows ...直到NODATA_value,然后在此处停止。因此只需要前6行。有小费吗?

3 个答案:

答案 0 :(得分:2)

嗨,这很简单。我建议您看一看python教程。无论如何,这可能是一个起点。

width open("myfile.txt") as f:
  for idx,line in enumerate(f):
    if idx>=6: break
    #dostuff

答案 1 :(得分:1)

我敢肯定有很多不错的库可以帮您做到这一点,但是这是基本的Python,无需学习新库即可完成。您可以将文件夹的内容放入列表中:How to read a file line-by-line into a list?

从那里开始很容易。使用list.index(element)查找'ncols'的索引,其值的索引为list.index('ncols')+ 1。 https://www.programiz.com/python-programming/methods/list/index

您可以使用切片将列表裁剪为NODATA_value:Understanding slice notation

答案 2 :(得分:1)

您可以尝试这样的事情:

variables = dict()
with open('my_text_file.txt', 'r') as textfile:
    while True:    
        next_line = textfile.readline()
        if len(next_line) == 0:
            break

        key, value = next_line.split()
        if key == 'NODATA_value':
            break

        variables[key] = value    

这假定文件中的每一行都是键值对,其中键和值之间有一定的空格分隔。

到达文件末尾或遇到NODATA_value键时,循环将终止。