npTDMS Python模块无法获取所有通道属性

时间:2017-12-22 22:19:24

标签: python numpy labview

我使用npTDMS Python模块读取TDMS文件,但我无法获取所有频道属性。我可以使用Scout或DIAdem甚至是内置的LabVIEW查看器打开我的TDMS文件,我可以看到文件中的每个通道(时间和压力)都有四个属性:NI_ArrayColumn,NI_ChannelLength,NI_DataType和name。但是,以下代码仅输出

OrderedDict([('NI_ArrayColumn', 1)])

代码如下:

from nptdms import TdmsFile

tdms_file = TdmsFile("2017-10-16;12.37.05_Pressure (1).tdms")
channel = tdms_file.object('Scan', 'Pressure')
print(str(channel.properties))

其他三个属性在哪里?

2 个答案:

答案 0 :(得分:0)

我发现npTDMS模块不会像内置的LabVIEW查看器,Scout,DIAdem和Excel加载项一样处理动态生成的属性。这对我来说似乎是个错误,所以我有一个issue reported on the github

答案 1 :(得分:0)

我不知道下面的代码片段是否可以回答您的问题(也许该错误已得到纠正),但是我发现npTDMS模块在检索即时生成的组属性时可以正常工作。

    public async Task<IActionResult> OnPost(string returnUrl = null)
    {
        await _signInManager.SignOutAsync();
        _logger.LogInformation("User logged out.");

        var logoutId = this.Request.Query["logoutId"].ToString();

        if (returnUrl != null)
        {
            return LocalRedirect(returnUrl);
        }
        else if (!string.IsNullOrEmpty(logoutId))
        {
            var logoutContext = await this._interaction.GetLogoutContextAsync(logoutId);
            returnUrl = logoutContext.PostLogoutRedirectUri;

            if (!string.IsNullOrEmpty(returnUrl))
            {
                return this.Redirect(returnUrl);
            }
            else
            {
                return Page();
            }
        }
        else
        {
            return Page();
        }
    }