博客
关于我
Python:设定采样周期提取Excel数据
阅读量:781 次
发布时间:2019-03-24

本文共 1449 字,大约阅读时间需要 4 分钟。

1 博客内容

对于CANape采集的数据(MF4/MDF格式),调入Simulink或者AMEsim分析,由于CANape中各信号取样频率不一致,导致文件转化为CSV文件后需要分段提取数据。例如,原始采样频率为3ms和5ms,分析时统一使用0.01s步长,通过数据处理可以提升分析软件的效率。

2 数据提取

年前内部对软件进行白名单处理,偶然发现AMEsim库目录树中的HOT,编译时会调用Python.exe。而使用Python时无需单独安装,可以直接使用现成的Python环境进行操作。以下分享使用Python提取分段时间数值(设定采样周期)的源程序。

TSheet.csv文件

思路是,当某行第一列的数值大于0.01*m时,输出该行第二列的数值,同时m += 1。

源代码
"""    名称:  Translation.py    作者:  Morven_Xie    版本:  1.0    时间:  2020/3/19 20:08    功能:  定周期提起csv格式文件数据    简介:  每隔10ms提取一次数据    Email:  morven_xie@163.com"""# -*- coding:utf-8 -*-import csvfile = open("Data.csv", "w",newline='')    #不用newline时出现空行writer = csv.writer(file)writer.writerow(('Time(s)', 'Current(A)'))   #单独列时(["Current"])with open('C:\\Users\\Administrator\\Desktop\\Python\\TSheet.csv', 'r', encoding='gbk') as csvfile:    reader = csv.reader(csvfile)    j = 0    k = 0    for i, rows in enumerate(reader):        if i == j:            row = rows            j = j + 1            if float(row[0]) > abs(0.01 *k):                m = 0.01 *k                k += 1                print(row[1])                writer.writerow((m, row[1]))file.close()

输出结果展示如下:

Data.csv

CSV作为Python自带模块,不需要PIP安装即可使用。

相关注意事项

  • 确保CSV文件的第一列包含有效的时间戳
  • 周期正确设置为目标分析周期
  • 处理后的CSV文件需谨慎管理与原文件脱节

相关技术支持:morven_xie@163.com

转载地址:http://inekk.baihongyu.com/

你可能感兴趣的文章
Prometheus 安装部署实战
查看>>
prometheus 持久化存储方案
查看>>
Prometheus 监控系统企业级实战
查看>>
Prometheus 监控系统简介
查看>>
Prometheus 配置详解
查看>>
Prometheus 采集器使用详解
查看>>
Prometheus 黑盒监控实战
查看>>
prometheus+alertmanager+grafana监控部署教程
查看>>
Prometheus+Grafana构建智能化Kubernetes监控系统实战
查看>>
Prometheus+SpringBoot应用监控全过程详解
查看>>
Prometheus+SpringBoot应用监控全过程详解
查看>>
prometheus安装
查看>>
Prometheus实战教程:监控Kafka消息
查看>>
Prometheus实战教程:监控mysql数据库
查看>>
Prometheus实战教程:监控Nginx状态
查看>>
prometheus常用exporter下载地址大全
查看>>
Prometheus快速搭建与监控Linux系统实战
查看>>
prometheus报警与恢复告警的格式
查看>>
Pytorch中安装 torch_geometric 详细图文操作(全)
查看>>
prometheus监控docker容器实战
查看>>