博客
关于我
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/

你可能感兴趣的文章
Netty工作笔记0072---Protobuf内容小结
查看>>
Netty工作笔记0073---Neety的出站和入站机制
查看>>
Netty工作笔记0074---handler链调用机制实例1
查看>>
Netty工作笔记0075---handler链调用机制实例1
查看>>
Netty工作笔记0076---handler链调用机制实例3
查看>>
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0078---Netty其他常用编解码器
查看>>
Netty工作笔记0079---Log4j整合到Netty
查看>>
Netty工作笔记0080---编解码器和处理器链梳理
查看>>
Netty工作笔记0081---编解码器和处理器链梳理
查看>>
Netty工作笔记0082---TCP粘包拆包实例演示
查看>>
Netty工作笔记0083---通过自定义协议解决粘包拆包问题1
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty工作笔记0085---TCP粘包拆包内容梳理
查看>>
Netty常用组件一
查看>>
Netty常见组件二
查看>>
Netty应用实例
查看>>
netty底层——nio知识点 ByteBuffer+Channel+Selector
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty心跳检测
查看>>