基于Python的npTDMS库的TDMS文件的读取
文章目录
- npTDMS的安装
- TDMS是什么?
- 使用步骤
- 1.引入库
- 2.创建TdmsFile对象,并使用open读取文件元数据:
- 3、读取通道数据
- 4、用Matplotlib将该数据进行可视化
- 总结
npTDMS的安装
npTDMS可直接在终端中下载
pip install npTDMS
TDMS是什么?
TDMS(Technical Data Management Streaming)文件是NI主推的一种二进制记录文件,它兼顾了高速、易存取和方便等多种优势,能够在NI的各种数据分析或挖掘软件之间进行无缝交互,也能够提供一系列API函数供其它应用程序调用。
TDMS的逻辑结构有三层:第一层为文件(File),第二层为通道组(Channel Groups),最后是通道(Channels),每一个层次上都可以附加特定的属性(Properties)。
使用步骤
1.引入库
代码如下:
import matplotlib.pyplot as plt
from nptdms import TdmsFile
import numpy as np
import pandas as pd
2.创建TdmsFile对象,并使用open读取文件元数据:
TDMS文件需要一层一层读取,先读取文件,然后读取组名,之后用组名作为索引读取通道名,最后可以用通道名作为索引读取通道数据。
代码如下:
with TdmsFile.open(r'文件的路径') as tdms_file:for group in tdms_file.groups(): # TdmsFile可以按组名索引来访问TDMS文件中的组,使用groups()方法直接访问所有组 group_name = group.name print(group_name)for channel in group.channels(): # TdmsGroup 可以通过通道名称来索引来访问这个组中的一个通道,使用 channels()方法直接访问所有通道 channel_name = channel.name print(channel_name)
3、读取通道数据
channel = tdms_file[group_name][channel_name] # 根据索引读取通道
all_channel_data = channel[:] # 将此通道中所有的数据作为numpy数组获取
num = np.array(all_channel_data)
df = pd.DataFrame(num) # 将numpy数组中的数据转换成DataFrame并输出
print(df[:][1:])
print(df.shape) # 维度查看
4、用Matplotlib将该数据进行可视化
part_channel_data = channel[1:100] # 取部分数据进行分析,这里取的是1到100的数据
a = np.array(part_channel_data) # 用数据大小作为y轴
x = np.arange(1, 100) # 定义x轴范围
plt.figure(figsize = (20, 8), dpi = 80) # 设置界面大小
plt.plot(x, a, ‘k’) # 设置x,y轴和曲线的颜色,k为黑色
plt.xlabel(‘intensity’) # 设置x标签
plt.xticks(x[::10]) # 设置x轴每个下标的间隔
plt.title('name') # 设置标题名称
plt.show() # 输出数据图像
总结
以上就是今天要讲的内容,本文仅仅简单介绍了用npTDMS读取TDMS文件,然后结合numpy和pandas对数据进行简单的处理。
基于Python的npTDMS库的TDMS文件的读取相关推荐
- NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码
NLP之情感分析:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之情感分析:基于python编程(jieba库)实现中文文本情 ...
- python如何安装wordcloud_基于python的wordcloud库的安装方法
基于python的wordcloud是最近十分流行的一项技术,而在学习这门技术之前,一定要学会安装.下面给大家介绍一下wordcloud的安装步骤. Tip: python第三方组件有很多都是whl文 ...
- python人脸识别库_基于Python的face_recognition库实现人脸识别
Python Python开发 Python语言 基于Python的face_recognition库实现人脸识别 一.face_recognition库简介 face_recognition是Pyt ...
- 基于python的npcap库与dpkt库实现抓包及存储
基于python的npcap库与dpkt库实现抓包及存储 import pcap import dpkt import socket import sys import getopt import o ...
- NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码
NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)之全部代码 目录 全部代码 相关文章 NLP之TEA:基于python编程(jieba库)实现中文文本情感分 ...
- Python之PIL之绘图:基于Python的PIL库绘制各种图形、添加文字等
Python之PIL之绘图:基于Python的PIL库绘制各种图形.添加文字等 目录 一.绘制各种形状各种案例 1.绘制矩形 2.绘制圆形.弧线形
- 通过Python的speech_recognition库将音频文件转为文字
文章目录 前言 一.音频准备 二.音频声音 三.格式转换 四.音频转文字 1.引入库 2.定义音频路径 3.创建一个Recognizer对象 4.打开音频文件,将音频文件读入Recognizer对象 ...
- NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分)
NLP之TEA:基于python编程(jieba库)实现中文文本情感分析(得到的是情感评分) 目录 输出结果 设计思路 相关资料 1.关于代码 2.关于数据集 关于留言 1.留言内容的注意事项 2.如 ...
- 通过TDM C DLL,使用C实现对TDMS文件的读取
最近项目的第二个要求便是使用C++对实验采集到的TDMS文件进行读取,从而对数据进行分析以及计算.众所周知,TDMS文件是NI公司提倡的一类文件,关于这个格式的详细介绍大家可以百度,比较关键的一点我简 ...
最新文章
- ModuleNotFoundError: No module named 'tools.nnwrap' pytorch 安装
- 学python需要安装什么软件-学武汉Python培训课程需要安装什么软件?分享这10款...
- python类中方法的执行顺序-python – 新式类中的方法解析顺序(MRO)?
- Java stackoverflowerror异常与outofmemoryerror异常区别
- 字符串(strcmp)
- 【数据库】pymysql数据库事务操作
- 软件工程的本质,一点个人理解
- 下载、安装Keil 5
- easycode不推荐使用_为什么MySQL不推荐使用uuid或者雪花id作为主键?
- Unity动画系统详解10:子状态机是什么?
- 【Java 面向对象】基础、Java程序的内存划分、嵌套类(内部类、静态嵌套类)、局部类、接口的升级问题(默认方法、静态方法)、instanceof
- php经典排序算法,PHP中四大经典排序算法
- 踩过的坑 vertical-alignline-height
- 3DMax教程: 3DMax快捷键与界面操作!
- 微信小程序下载图片预览和真机调试均无问题,发布到远程后点击下载没有任何反应
- sqlite3基础学习
- 切边压力机行业调研报告 - 市场现状分析与发展前景预测
- 【python PDF解析】python 读取PDF文件内容
- 表不存在,但是可以查询、删除(没有返回结果,一直hang住)
- python软件下载对电脑配置要求-Python实现的读取电脑硬件信息功能示例
热门文章
- 如何设置网络投票制作投票链接售价多少钱平台投票
- GoAhead4.1.0 开发总结一(移植)
- ArcSDE与ArcCatalog
- 小米木丨整体木作:巧用藤编,让家居定制更出彩!-安徽梵衍木业有限公司
- 【数理知识】曲率 curvature,主曲率 principal curvature,高斯曲率 Gaussian curvature,平均曲率 mean curvature
- python画江苏_Python 制作小游戏系列 - 中国省份测试地图
- Ubuntu 终端下复制文件
- eclipse快捷键失效
- 微信小程序组件movable-area事件穿透,事件冒泡,movable-area遮盖/遮挡住其他元素之后点击事件不穿透/不冒泡解决办法
- python 储存汉字_汉字存储字节