如何使用python读取标准的labVIEW生成的TDMS文件?
答案 0 :(得分:2)
为了社区的利益,发布示例代码库我已经习惯有效地将* .tdms文件读入pandas数据帧。经过多次试验,简化了代码的易用性和文档编制。
#import required libraries
from nptdms import TdmsFile
import numpy as np
import pandas as pd
#bokeh plots
from bokeh.plotting import figure, output_file, show
from bokeh.io import output_notebook
#load the tdms file
tdms_file = TdmsFile("/Volumes/Data/dummy/sample.tdms")
#split all the tdms grouped channels to a separate dataframe
#tdms_file.as_dataframe()
for group in tdms_file.groups():
grp1_data = tdms_file.object('grp1').as_dataframe()
grp2_data = tdms_file.object('grp2').as_dataframe()
#plot the data on bokeh plots
# Use Bokeh chart to make plot
p = bokeh.charts.Line(grp1_data, x='time', y='values', color='parameter', xlabel='time (h)', ylabel='values')
# Display it
bokeh.io.show(p)
欢迎提出建议和改进。
答案 1 :(得分:0)
为清楚起见,我将进一步简化Sundar的回答:
from nptdms import TdmsFile
tdms_file = TdmsFile(r"path_to_.tdms")
for group in tdms_file.groups():
df = tdms_file.object(group).as_dataframe()
print(df.head())
print(df.keys())
print(df.shape)
这会将tdms的不同组读入pandas数据帧。
答案 2 :(得分:0)
这对我有用:
import pandas as pd
from nptdms import TdmsFile
tdms_file = TdmsFile("path/to/tdms_file.tdms")
df = tdms_file['group'].as_dataframe()
print(df.head())
print(df.keys())
print(df.shape)
npTDMS版本1.1.0至少没有用于此处先前示例中的TdmsFile对象的任何object
方法。