Installation and Quick Start
npTDMS is available from the Python Package Index, so the easiest way to install it is by running:
pip install npTDMS
There are optional features available that require additional dependencies.
These are hdf
for hdf export, pandas
for pandas DataFrame export,
and thermocouple_scaling
for reading files that use thermocouple scalings.
You can specify these extra features when installing npTDMS to also install the dependencies they require:
pip install npTDMS[hdf,pandas,thermocouple_scaling]
Alternatively, after downloading the source code you can extract it and change into the new directory, then run:
python setup.py install
Typical usage when reading a TDMS file might look like:
from nptdms import TdmsFile
tdms_file = TdmsFile.read("path_to_file.tdms")
for group in tdms_file.groups():
group_name = group.name
for channel in group.channels():
channel_name = channel.name
# Access dictionary of properties:
properties = channel.properties
# Access numpy array of data for channel:
data = channel[:]
# Access a subset of data
data_subset = channel[100:200]
Or to access a channel by group name and channel name directly:
group = tdms_file[group_name]
channel = group[channel_name]
The TdmsFile.read
method reads all data into memory immediately.
When you are working with large TDMS files or don’t need to read all channel data,
you can instead use TdmsFile.open
. This is more memory efficient but
accessing data can be slower:
with TdmsFile.open("path_to_file.tdms"):
channel = tdms_file[group_name][channel_name]
channel_data = channel[:]
npTDMS also has rudimentary support for writing TDMS files. Using npTDMS to write a TDMS file looks like:
from nptdms import TdmsWriter, ChannelObject
import numpy
with TdmsWriter("path_to_file.tdms") as tdms_writer:
data_array = numpy.linspace(0, 1, 10)
channel = ChannelObject('Group', 'Channel1', data_array)
tdms_writer.write_segment([channel])