最近用编程处理文件挺多的,matlab用得比较熟,但还是想用python来写写,Fortran就不用了。
所用到的数据如下图,前面4行是说明,实际要用的数据是第5行开始。
一共是有29*53个点,每一组就有53个数据,一共是有29组。
下面就是操作了
# 导入所需的库
import numpy
# 打开 micaps 文件
f1 = open('13052520.000', 'rt')
f2 = open('data.txt', 'wt')
# 前面4行为注释数据,没有用
for i in range(4):
temp = f1.readline()
# 定义一个数组保存文件中的数据,29行53列
data = numpy.zeros((29, 53))
# 一行一行地读取,读取的是一个字符串
for lin in range(29):
con = 0
# 文件中每6行构成所需的1行
for i in range(6):
# 读1行
dd = f1.readline()
# 将读取的\n去掉,将字符按空格分开,构成了若干个字符串构成的列表
dd = dd.split()
# 下面是将字符串一个一个分开导入数组中
for d in dd:
data[lin][con] = float(d)
con = con + 1
# 将数组转化为列表
data = data.tolist()
# 一个一个地写
# 因为写文件只能写字符串,所以需要将列表转化为字符串
for i in range(len(data)):
for j in range(len(data[i])):
f2.write(str(data[i][j]))
f2.write(' ')
# 每写完一行,换行
f2.write('\n')
f1.close()
f2.close()
最后写出来的结果就是这样了
读写二进制文件,有时间再写写,先继续用matlab做实习(‾◡◝)
总结
到此这篇关于如何利用python读取micaps文件的文章就介绍到这了,更多相关python读取micaps文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!