Python通过Pandas解析逻辑分析仪导出的CSV数据
脚本要解决的问题
为方便分析逻辑分析仪导出的csv数据, 简单做了个转换工具。。。
逻辑分析仪导出的csv数据是根据时间戳逐行排序,很难分析一个完整的帧数据,
例如下图:
下图逻辑分析仪工具导出的csv数据有3w多行,没办法直接通过该文件对数据帧进行分析,而且重点是。。。看时间长了太费眼!
所以通过Pandas简单对数据做些行列变换,好方便查看与分析数据、
Python代码
Python脚本如下:
import pandas as pd
import numpy as np
import time
print('Data processing.... pls. wait and make sure rename input file to input.csv..')
# 这里的input.csv就是逻辑分析仪导出的待转换文件
dataframe = pd.read_csv('input.csv', low_memory=False)
data = dataframe.set_index(['Packet ID','Address','Read/Write','ACK/NAK','Time [s]'])
output = data.unstack()
print(output)
print('Finish processing, now create result file....')
# 导出为csv
output.to_csv('result.csv')
# 导出为txt
output.to_csv('resultTag.txt',sep=' ')
print('All Done!, please check resultTag.txt and result.csv')
print('this window will close after 5s')
time.sleep(5)
转换结果txt版本为:
转换结果csv版本为:
这样看起来就方便多了, 其中txt里是为了方便数据搜索,而result. csv里才是详细数据。 (txt需要用NotePad++打开格式才正确)
备注:
执行过程中主要是靠python pandas 中unstack()的数据重组运算, 如果数据量较大,可能需要等待一段时间,并占用大量内存。。。 我实测的7w多行数据总共大概要等十分钟, 所以还是尽量去掉无用数据,
博主热门文章推荐:
一篇读懂系列:
LoRa Mesh系列:
网络安全系列:
- ATECC508A芯片开发笔记(一):初识加密芯片
- SHA/HMAC/AES-CBC/CTR 算法执行效率及RAM消耗 测试结果
- 常见加密/签名/哈希算法性能比较 (多平台 AES/DES, DH, ECDSA, RSA等)
- AES加解密效率测试(纯软件AES128/256)–以嵌入式Cortex-M0与M3 平台为例
嵌入式开发系列:
- 嵌入式学习中较好的练手项目和课题整理(附代码资料、学习视频和嵌入式学习规划)
- IAR调试使用技巧汇总:数据断点、CallStack、设置堆栈、查看栈使用和栈深度、Memory、Set Next Statement等
- Linux内核编译配置(Menuconfig)、制作文件系统 详细步骤
- Android底层调用C代码(JNI实现)
- 树莓派到手第一步:上电启动、安装中文字体、虚拟键盘、开启SSH等
- Android/Linux设备有线&无线 双网共存(同时上内、外网)
AI / 机器学习系列:
- AI: 机器学习必须懂的几个术语:Lable、Feature、Model…
- AI:卷积神经网络CNN 解决过拟合的方法 (Overcome Overfitting)
- AI: 什么是机器学习的数据清洗(Data Cleaning)
- AI: 机器学习的模型是如何训练的?(在试错中学习)
- 数据可视化:TensorboardX安装及使用(安装测试+实例演示)
其它好玩的Python脚本
Python实现自动发送邮件 --自动抓取博客/网站中留言的邮箱并发送相应邮件
Python自动生成代码 - 通过tkinter图形化操作并生成代码框架
Python解析CSV数据 - 通过Pandas解析逻辑分析仪导出的CSV数据