Daten aus TDMS-Datei aneinander hängen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
peachli
User
Beiträge: 18
Registriert: Dienstag 13. März 2018, 20:21

Hallo Zusammen,

ich habe einen Ordner TDMS-Dateien (Können auch Excel sein).
Dieser werden in 5 MB Paketen abgelegt, beinhalten jedoch alle die gleiche Datenstruktur.
Leider gibt es keine Absolutzeit in den Zeilen und der Zeitstempel ist in der Spalte "TimeStamp" etwas kryptisch abgespeichert in folgendem Format:

"Di. 17.11.2020 19:20:15"

Nun würde ich jedoch gerne jede Datei laden und hintereinander plotten.
Für eine Datei ist das kein Problem, da ich einfach den Index der Datei für die X-Achse benutze, wenn ich jedoch mehrere Dateien lade, ist der index in jeder Datei gleich und die Daten überschneiden sich.

Hat Jemand eine Idee, wie ich alle Daten in einen DataFrame schreibe, jedoch mit einem fortlaufenden Zeitstempel, so dass die Daten nacheinander geplottet werden können bzw. ich auch einen Zeitraum angeben kann in welchem ich die Daten gerne sehen würde?

Mein erster Ansatz wäre folgendermaßen.
Falls Jemand ein Beispiel mit einer CSV-Datei hochladen könnte wäre das natürlich genauso hilfreich!

Code: Alles auswählen

import os,glob
import pandas as pd
import matplotlib.pyplot as plt

from nptdms import TdmsFile



tdms_file = TdmsFile.read("Datei1.tdms")
tdms_groups = tdms_file.groups()
tdms_Variables_1 = tdms_file.group_channels(tdms_groups[0])

MessageData_channel_1 = tdms_file.object('Data', 'Position')
MessageData_data_1 = MessageData_channel_1.data
    
#MessageData_channel_2 = tdms_file.object('Data', 'Timestamp')
#MessageData_data_2 = MessageData_channel_2.data

df_y = pd.DataFrame(data=MessageData_data_1).append(df_y)
    
plt.plot(df_y)
Antworten