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. (转)致李开复博士的一封信
  2. Python使用openpyxl读写excel文件
  3. php认识正则吗,php正则表达式有什么用
  4. 谷歌大一统?Fuchsia OS已可提供完整的Chrome浏览器体验
  5. 网络计算机显示10,win10电脑网络显示一个球怎么回事
  6. java基础语法实例教程_Java 基础语法
  7. 【数据库系统】形式化查询语言の关系代数
  8. 《编写可测试的JavaScript代码》——1.3 卓越的应用程序代码
  9. 云计算、人工智能、大数据等当前火热的技术,都离不开它!
  10. 2020-02-06 asm内联汇编
  11. [LeetCode]Balanced Binary Tree
  12. python mysql到处excel
  13. 三维CAD/CAM软件SINOVATION 10 中文注册版
  14. AWS VPC(二)-----创建VPC Peering
  15. 按键精灵sayString不生效
  16. 如何快速打出希腊字母
  17. mysql group by 之后取每个分组最新的一条(或者按照自定义的规则排序)
  18. 单位半夜12点打电话给你,让你通知领导明天早上8点参会,而且要准备汇报,你会怎么做?
  19. CV各领域牛人及资源-有些网页已很久没更新
  20. LOJ 3124 「CTS2019 | CTSC2019」氪金手游——概率+树形DP

热门文章

  1. 【压缩感知】基于matlab压缩感知理论的窄带信号DOA估计【含Matlab源码 2616期】
  2. React Native Animated 动画详解 - 实例篇 (这篇就够了)
  3. 电脑技巧:电脑识别不出字,一些汉字都变成框框了
  4. 营销型的网站建设哪家做的比较好一点?
  5. python 安居客 爬虫_爬虫学习6:爬取安居客的VR房源信息
  6. aws s3 php,在Amazon S3上使用php进行强制下载
  7. 教师备课就只是看教材教参这么简单?
  8. Java程序:开发一个应用,模拟计算机对移动存储设备的读写,即移动存储设备有U盘、手机卡、移动硬盘、闪卡等设备
  9. Flowable工作流基础介绍
  10. 任正非的「700+数学家」又多了一位:菲尔兹奖得主Laurent Lafforgue官宣加入华为...