Python 在一个Excel工作表中转换多个TDMS元数据文件

Python 在一个Excel工作表中转换多个TDMS元数据文件,python,excel,file,Python,Excel,File,我在一个源文件夹中有多个TDMS文件。我使用下面的代码从这些文件中读取元数据,这一点现在非常有效。但是,为了改进我的代码,我希望将所有这些文件合并到一个excel文件中,每次我收到新的TDMS文件并运行我的代码时,元数据都将添加到excel工作表的底部 这是我现在掌握的代码: from nptdms import TdmsFile as td import os import pandas as pd source = 'c:\data\AM\Desktop\location' for f

我在一个源文件夹中有多个TDMS文件。我使用下面的代码从这些文件中读取元数据,这一点现在非常有效。但是,为了改进我的代码,我希望将所有这些文件合并到一个excel文件中,每次我收到新的TDMS文件并运行我的代码时,元数据都将添加到excel工作表的底部

这是我现在掌握的代码:

from nptdms import TdmsFile as td
import os
import pandas as pd


source = 'c:\data\AM\Desktop\location'

for file in os.listdir(source):
    if file.endswith('.tdms'):
        tdms_path = os.path.join(source + '\\' + file)
#        print(tdms_path)
        
        metadata = td.read_metadata(tdms_path)
#        print(metadata)
        
        b = metadata.properties
        
        print(b)
        
        for f in b:
            df = pd.DataFrame([metadata.properties.values()], columns=metadata.properties.keys())
            df.to_excel('c:\data\AM\Desktop\destination\\*.xlsx')

这不是在使用Python。但一个简单的批处理脚本类型可以将所有文件追加到txt oor csv文件中。 在命令提示符下尝试此操作,然后将代码另存为filename.bat:

type "c:\data\AM\Desktop\location*.tdms" > "Combined.csv"
您还可以使用os模块调用此命令行

import os
os.popen("type c:\data\AM\Desktop\location*.tdms > Combined.csv")

您必须首先连接元数据文件的结果,然后在for循环外写入excel:

from nptdms import TdmsFile as td
import os
import pandas as pd

source = 'c:\data\AM\Desktop\location'
dfs = []

for file in os.listdir(source):
    if file.endswith('.tdms'):
        tdms_path = os.path.join(source + '\\' + file)
        metadata = td.read_metadata(tdms_path)
        dfs.append(pd.DataFrame([metadata.properties.values()], columns=metadata.properties.keys()))

df = pd.concat(dfs)
df.to_excel('c:\data\AM\Desktop\destination\\*.xlsx')

您如何知道哪些文件是新的,哪些不是?如果你错过了一天的脚本运行时间怎么办?@datanoveler我将使用windows的任务调度程序使脚本自动运行。我需要在PythonThank中运行,但是穆罕默德的回答更适合我。啊哈,谢谢。我得到了它。未填写excel文件的名称。非常感谢男人们!你能帮我提一个问题吗?问题是使用python将多个文本文件加载到MySQL工作台。你可以看到它一旦你点击我的个人资料。