python提取peer地震波并进行归一化

  • 导入所需模块
  • 创建函数得到地震波数据
  • 创建函数将得到地震波数据归一化并输出
  • 进行文件遍历并调用函数

大家可以直接导入代码进行提取,在文件路径处修改自己地震波所在的文件夹即可。

导入所需模块

import os
import pandas as pd
import re

创建函数得到地震波数据

# 得到地震波数据
def get_peer_data(filename):'''输入文件路径,得到地震波数据,时间间隔和地震点数量:param filename: 文件路径:return: 地震波数据(列表), 时间间隔,地震点数量'''# 读取文件peer_file = open(filename, 'r', encoding='utf-8')# 创建储存地震波的列表wave_data = []# 创建储存时间的列表time_data = []# 跳过前三行line = peer_file.readline()line = peer_file.readline()line = peer_file.readline()line = peer_file.readline()result = re.split(r'\s', line)# 时间步长读取for i in range(len(result)):if result[i] != '':time_data.append(result[i])DT = float(time_data[3])# 读取接下来的数据while True:line = peer_file.readline()# 最后一行停止if not line:breakresult_1 = re.split(r'\s', line)for i in range(len(result_1)):if result_1[i] != '':wave_data.append(float(result_1[i]))peer_file.close()return wave_data, DT, len(wave_data)

创建函数将得到地震波数据归一化并输出

def get_excel(wave_data, DT, NPTS, savepath):'''输入上一个函数得到的地震波数据,生成dataframe,进行归一化,并输出excel:param wave_data: 地震波数据:param DT: 时间间隔:param NPTS: 数据点数量:param savepath: 存储绝对路径:return:'''# 最终储存数据dataframeend_data = pd.DataFrame()# 时间列a = 0time_list = []time_list.append(0)for i in range(NPTS-1):a = a + DTtime_list.append(a)# 创建新的indexnew_index = list(range(0, NPTS))# 时间列data1 = pd.Series(time_list, index = new_index)end_data['t'] = data1# 数据列data2 = pd.Series(wave_data, index = new_index)end_data['A'] = data2# 找地震波绝对最大值num_max = end_data.iloc[:, 1].apply(abs).max()# print(num_max)# 归一化end_data['t_1'] = data1end_data['归一化A'] = end_data['A'] / num_max# 输出excelend_data.to_excel(savepath, index=False)

进行文件遍历并调用函数

file_work_path = r'F:\研究生\研究课题\地震波\抗震地震波\20条\有脉冲'
save_path = r'F:\研究生\研究课题\地震波\抗震地震波\20条\有脉冲-已处理'
i = 0
for filepath, dirname, filenames in os.walk(file_work_path):for filename in filenames:# 分离文件名称和后缀,后缀:.AT2name, suffix = os.path.splitext(filename)# 判断是否为加速度文件if suffix == '.AT2':print(name)# 生成储存文件名称save_name = name + '.xlsx'# 获取存储文件名称绝对路径abs_savepath = os.path.join(save_path, save_name)# 获取文件绝对路径abs_filepath = os.path.join(filepath, filename)# 函数1wave_data, DT, NPTS = get_peer_data(abs_filepath)# 函数2get_excel(wave_data, DT, NPTS, abs_savepath)i = i + 1print("已完成" + str(i))print('全部完成!')

python提取peer地震波并进行归一化相关推荐

  1. python取特定年份的数据_python,_怎样用python提取不同股票csv里特定时间段的数据,python - phpStudy...

    怎样用python提取不同股票csv里特定时间段的数据 我有几千只股票的csv数据,需要算所有股票在特定时间段内的收益率. 但是数据里的日期信息并不统一,有的csv到2011年就没有了之后的信息了,有 ...

  2. 用Python提取解析pdf文档中内容

    用Python提取解析pdf文档中内容 文章目录: 参考: 1.https://blog.csdn.net/tmaczt/article/details/82876018 # Tika库 2.http ...

  3. 【机器学习算法-python实现】矩阵去噪以及归一化

    1.背景    项目需要,打算用python实现矩阵的去噪和归一化.用numpy这些数学库没有找到很理想的函数,所以一怒之下自己用标准库写了一个去噪和归一化的算法,效率有点低,不过还能用,大家如果有需 ...

  4. 怎样用Python提取信息呢?分享这3个Python PDF库

    很多时候我们都会用Python去取数据文件,这些文件中很多都是PDF格式,有些PDF文件解析的时候只能解析一部分内容出来,大段的文字没有解析出来,那怎么样才能用Python提取这些信息呢? 下面小千就 ...

  5. [知识图谱实战篇] 三.Python提取JSON数据、HTML+D3构建基本可视化布局

    前面作者讲解了很多知识图谱原理知识,包括知识图谱相关技术.Neo4j绘制关系图谱等,但仍缺少一个系统全面的实例.为了加深自己对知识图谱构建的认识,为后续创建贵州旅游知识图谱打下基础,作者深入学习了张宏 ...

  6. python 替换array中的值_利用Python提取视频中的字幕(文字识别)

    我的CSDN博客id:qq_39783601,昵称是糖潮丽子~辣丽 从今天开始我会陆续将数据分析师相关的知识点分享在这里,包括Python.机器学习.数据库等等. 今天来分享一个Python小项目! ...

  7. python提取html正文为txt,python 提取html文本的方法

    假设我们需要从各种网页中提取全文,并且要剥离所有HTML标记.通常,默认解决方案是使用BeautifulSoup软件包中的get_text方法,该方法内部使用lxml.这是一个经过充分测试的解决方案, ...

  8. python提取数据段_python提取数据段 python数据分析

    如何在python中用slice分段取数据? 执行以下操作:&gt&gt a=range(6)&gt&gt a[0, 1, 2, 3, 4,5]&gt& ...

  9. python字典导入mongodb_Python语言生成内嵌式字典(dict)-案例从python提取内嵌json写入mongodb...

    本文主要向大家介绍了Python语言生成内嵌式字典(dict)-案例从python提取内嵌json写入mongodb,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 从mongo查 ...

最新文章

  1. python expect模块_成为顶级黑客--python绝技 阅读笔记(五)
  2. bat判断3306端口号是否被占用
  3. SAP 电商云 Spartacus UI 和 SmartEdit 本地测试环境
  4. P4318,bzoj2440-完全平方数【二分答案,莫比乌斯函数,容斥】
  5. android studio资源二进制,无法自动检测ADB二进制文件 – Android Studio
  6. python输入名字配对情侣网名_输入姓名配对qq网名,QQ情侣昵称
  7. 网页视频之H264打包为fmp4调研
  8. v-pre让Vue直接显示{{}}不编译
  9. 军工电子产品环境可靠性测试试验实验室GJB150A
  10. 稳压器及稳压二极管型号对照表
  11. thinkpadX1C2021充不进去电(去除静电后依旧无效的来看看)
  12. 唐诗赏析--唐诗的起源,发展
  13. 如何批量打印dwf文件
  14. 真正的好老板,都是高层次的“给予者”
  15. MFC 公用函数和函数指针和动态库
  16. 【读书笔记】概率图模型——基于R语言(一)
  17. 免费阅读里的“B站”,后浪已乘“疯”
  18. 程序员如何在技术上提升自己
  19. 计算机考研408每日一题 day37
  20. 关于三点演讲与口才训练方法

热门文章

  1. 爱数发布AnyShare 3.5,打造私有云存储的BOX
  2. 通过命令查看CentOS版本的几种方法,经过搜集整理得到
  3. 地图java版_Mapabc——地图标注(java版)
  4. 为什么String作为形参不会改变本身的值?
  5. 从零开始的人工智能和机器学习,该从哪里入手呢?
  6. 金蝶KIS 引出数据WPS EXCEL 空白 所见即所得引出空白 电脑上安装了WPS 不想卸载 引出的时候用Office也是空表
  7. 数据库导入Excel表格
  8. 不启动tomcat情况下查看tomcat版本
  9. 云e办前端学习(六)职称管理
  10. 【深度学习】深度解读:深度学习在IoT大数据和流分析中的应用