Python 在一个Excel工作表中转换多个TDMS元数据文件
我在一个源文件夹中有多个TDMS文件。我使用下面的代码从这些文件中读取元数据,这一点现在非常有效。但是,为了改进我的代码,我希望将所有这些文件合并到一个excel文件中,每次我收到新的TDMS文件并运行我的代码时,元数据都将添加到excel工作表的底部 这是我现在掌握的代码: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
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工作台。你可以看到它一旦你点击我的个人资料。