最近用编程处理文件挺多的,matlab用得比较熟,但还是想用python来写写,Fortran就不用了。

所用到的数据如下图,前面4行是说明,实际要用的数据是第5行开始。

如何利用python读取micaps文件详解

一共是有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()

最后写出来的结果就是这样了

如何利用python读取micaps文件详解

读写二进制文件,有时间再写写,先继续用matlab做实习(‾◡◝)

总结

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!