Python:HYPODD输入文件.pha读取

此脚本意在读取HypoDD的输入.pha文件将结果保存为字典。因为可能会碰到对.pha文件进行修改,比如修改拾取数据的权重,可能需要修改台站名或台网名,所以此脚本可能可以作为辅助帮助修改.pha文件。

.pha的文件格式如下:

# 2016 10 14 00 00 09.270 42.8085 13.2121 6.63 0 0 0 0 1
T1214 1.3196 1 P
ED03 7.7896 1 S
ED24 3.0596 1 P
ED01 5.6196 1 P
# 2016 10 14 00 01 50.170 42.7388 13.1928 5.58 0 0 0 0 2
ED03 5.2796 1 S
T1218 3.6296 1 S
ED02 8.5396 1 S
......

代码如下:

import os
import sysdef read_data_from_pha_file(file_path):fileID = open(file_path, "r")all_lines = fileID.readlines()fileID.close()results_dict = dict()for i in range(0, len(all_lines)):sgl_line = all_lines[i]if sgl_line[0] == '#':if i > 0:results_dict[key] = dict()results_dict[key]['hl'] = head_lineresults_dict[key]['rcd'] = temp_listtemp_list = []elements = sgl_line.split()key = " ".join(elements[1:7])head_line = sgl_lineelse:temp_list.append(sgl_line)if i == (len(all_lines)-1):results_dict[key] = dict()results_dict[key]['hl'] = head_lineresults_dict[key]['rcd'] = temp_listreturn results_dictif __name__ == "__main__":file_path = "./test.pha"results_dict = read_data_from_pha_file(file_path)print(results_dict)

以上是代码分享,希望能帮到需要的人,有错误的地方望告知。
作为编程小白,希望能在这里记录自己的一步步成长。

HYPODD输入文件.pha读取相关推荐

  1. java 命令行 读取文件_java读取txt文件

    自己记录一下用法的,防止忘了 package dataStructure; import java.util.Scanner; import java.io.FileReader; import ja ...

  2. java缓冲区读取文件_直接从文件读取到BufReader 's or Cursor'的底层缓冲区

    我想弄清楚Rust中的一些基本内容 . 我想创建一个从文件中读取512个字节的工具,并将这些字节复制到另一个文件中 . 然后从输入文件中取出接下来的8个字节并跳过它们 . 然后从输入文件中取下一个51 ...

  3. go语言逐行读取和写入文件

    前言 前面一篇博客讲到nodejs使用readline逐行读取和写入文件 今天使用go语言实现从输入文件中读取每行数据,然后将每行字段组合成SQL插入脚本,然后逐行写入另外一个空白文件中. tb_pa ...

  4. php写一个shell脚本文件格式,一篇文章学会——shell脚本编写

    用了caffe有一段时间了,感觉自己写shell脚本的能力有待提高,特地从菜鸟笔记处系统的看了一遍,其实学习基础就可,内容也不多,我就不总结了.把网站上的内容用markdown重新编辑了一下,各位可以 ...

  5. Linux基础命令---diffstat

    diffstat       这个程序读取diff的输出,并显示每个文件的插入.删除和修改的直方图.Diffstat是一个用于检查大型复杂修补程序文件的程序.它从包含diff输出的一个或多个输入文件中 ...

  6. Linux正则表达式grep与egrep

    grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...

  7. 「薅」52图初探Linux通用知识

    噗..为啥不是面试题了,封面船去哪里了?要开好船,先回到我们的初心---Linux,这篇文章是Linux的超级基础且经常用到的内容,不多说,直接肝!可以直接拉到文末点个赞!当然,如果需要思维导图可编辑 ...

  8. 树和二叉树(四种遍历,建树)详解+二叉排序树(包含图像和相关习题)

    目录 树和二叉树 一.树 2.有序树和无序树 3.森林 4.树的基本性质 二.二叉树的概念 (1)二叉树的编号 1.二叉树和度为2的有序树的区别: 2.满二叉树 3.完全二叉树: 4.平衡二叉树: 5 ...

  9. 211.Alpha多样性箱线图(样章,11图2视频)

    <微生物组数据分析与可视化实战>专著 众筹编写<微生物组数据分析与可视化实战>--成为宏基因组学百科全书的创始人(目录) 编者序:初衷.计划.要求.优势.目标和展望 本文为样章 ...

最新文章

  1. 利用Use Case为系统行为建模(1)
  2. Eclipse下svn的创建分支/合并/切换使用
  3. 自己动手写web服务器一(浏览器的访问信息)
  4. php soap实例讲解
  5. Windows7配置GPU和Theano编程环境
  6. C++从0到1的入门级教学(十二)——运算符重载
  7. spring Boot 学习(七、Spring Boot与开发热部署)
  8. SpringDataJPA入门就这么简单
  9. cad图纸怎么看懂_CAD图纸太大,打开的时候很卡怎么办?教你如何给图纸瘦身
  10. 安全测试 - XSS如何防御
  11. linux设置r镜像,一劳永逸,R的个性化默认配置
  12. Google桌面搜索和百度硬盘搜索索引停滞的原因
  13. 熊猫烧香源码--假的:)
  14. 万年历代码c语言CSDN,c语言万年历代码
  15. TensorLy-神经网络张量库
  16. win10程序员软件列表(持续更新中...)
  17. JAVA缴税_根据工资和税率计算应缴税(java)
  18. 新闻推荐笔记(2):Embedding-based News Recommendation for Millions of Users
  19. 何时是PNE(纯策略纳什均衡)?何时是MNE(混合策略纳什均衡)?
  20. 最全Visual Studio版本号对应表VisualStudioVersion

热门文章

  1. 找社保代理怎样才靠谱?
  2. 廖雪峰python教程阅读之安装python
  3. KNIME工作流的建立实验
  4. 医院预约小程序/医院预约挂号小程序的设计与实现
  5. PMP挂靠一年多少钱?
  6. 浅谈QPS、TPS、并发用户数、吞吐量的关系
  7. 项目作业丨对话式对战游戏
  8. 瓦罐香沸快餐 特色盈利项目
  9. Pytorch+CUDA安装方法步骤
  10. 保护健康——珍爱生命(3)