Übernahme von Daten aus TXT Dateien.
Moderator: Moderatoren
Übernahme von Daten aus TXT Dateien.
Hallo
Ich möchte gerne Messdaten von meinem NWT in eine Tabelle übernehmen.
Wie könnte ich das anstellen.
Das Textfile sieht so aus
Kanal1: B3dB: 825 Hz; fm: 11.996087 MHz; f1: 11.995675 MHz; f2: 11.9965 MHz
+ Guete Q:14540.71
Die Werte sind durch Semikolon getrennt.
Die Tabelle soll Spalten besitzen mit folgender Überschrift
Bandbreite (wert B3dB:825HZ) aber nur den Zahlenwert.
Mittenfrquenz (wert fm:11,996087MHZ) nur Zahlenwert
Frequenz F1 (wert f1:11,995675) nur Zahlenwert
Frequenz F2 (wert f2:11,9965) nur Zahlenwert
Güte (wert Q:15540,71) nur zahlenwert
für jeden Messdurchgang erzeugt das Messgerät eine neue Textdatei aus der ich dann
die Werte in die Tabelle einfügen muß.
Gruß Bernd
Ich möchte gerne Messdaten von meinem NWT in eine Tabelle übernehmen.
Wie könnte ich das anstellen.
Das Textfile sieht so aus
Kanal1: B3dB: 825 Hz; fm: 11.996087 MHz; f1: 11.995675 MHz; f2: 11.9965 MHz
+ Guete Q:14540.71
Die Werte sind durch Semikolon getrennt.
Die Tabelle soll Spalten besitzen mit folgender Überschrift
Bandbreite (wert B3dB:825HZ) aber nur den Zahlenwert.
Mittenfrquenz (wert fm:11,996087MHZ) nur Zahlenwert
Frequenz F1 (wert f1:11,995675) nur Zahlenwert
Frequenz F2 (wert f2:11,9965) nur Zahlenwert
Güte (wert Q:15540,71) nur zahlenwert
für jeden Messdurchgang erzeugt das Messgerät eine neue Textdatei aus der ich dann
die Werte in die Tabelle einfügen muß.
Gruß Bernd
- miesepeter
- ********
- Beiträge: 2228
- Registriert: Sa, 10.05.2008 15:05
- Wohnort: Bayern
Re: Übernahme von Daten aus TXT Dateien.
Wie wär's mit einer Beispieldatei? Und der Darstellung des erwünschten Ergebnisses?
- Ciao
- Ciao
Re: Übernahme von Daten aus TXT Dateien.
Hallo
Also dann mal die Dateien hier wie sie aussehen soll und das ist die Textdatei ist ansich eien einfache*.txt habe ich jetzt aber als .odt gespeichert.
Gruß bernd
Also dann mal die Dateien hier wie sie aussehen soll und das ist die Textdatei ist ansich eien einfache*.txt habe ich jetzt aber als .odt gespeichert.
Gruß bernd
Re: Übernahme von Daten aus TXT Dateien.
Ne gewisse Struktur oder Regelmäßigkeit sollte die txt-Datei schon haben...
Einfache Notizen fordern immer viel Handarbeit.
Einfache Notizen fordern immer viel Handarbeit.
win11 - Avira - LO 24.8.4.2 (X86_64)
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: Übernahme von Daten aus TXT Dateien.
Hallo
Liegen die Schlüssel : wert paare immer in der gleichen Reihenfolge vor, werden immer identische Schlüsseleworte benutzt, bleibts bei den Einheiten so wie sie da stehen oder wechseln sich Hz, KHz, MHz, GHz fröhlich ab?
Wie viele dieser Minidateien gibt es denn?
Warum ist vor dem letzten Feld ein Absatzumbruch und nicht auch ein Semicolon?
welche Unregelmässigkeiten gibts sonst noch in den Quelldaten?
Meinst du du schaffst es ~15 bis 25 Zeilen python-code per copy&paste entgegenzunehmen und unfallfrei auf die TextDateien anzuwenden, damit da im Idealfall eine einzige sauber strukturierte …csv Datei rauskommt?
Liegen die Schlüssel : wert paare immer in der gleichen Reihenfolge vor, werden immer identische Schlüsseleworte benutzt, bleibts bei den Einheiten so wie sie da stehen oder wechseln sich Hz, KHz, MHz, GHz fröhlich ab?
Wie viele dieser Minidateien gibt es denn?
Warum ist vor dem letzten Feld ein Absatzumbruch und nicht auch ein Semicolon?
welche Unregelmässigkeiten gibts sonst noch in den Quelldaten?
Meinst du du schaffst es ~15 bis 25 Zeilen python-code per copy&paste entgegenzunehmen und unfallfrei auf die TextDateien anzuwenden, damit da im Idealfall eine einzige sauber strukturierte …csv Datei rauskommt?
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Übernahme von Daten aus TXT Dateien.
Hallo
Die Textdatei wir immer in der selben Reihenfolge gespeichert.
Die Zahlenwerte ändern sich aber nicht die Einheiten.
Ich hänge mal drei Messungen an.
Ich muß die gemessenen Quarze dann nach Frequenz und Güte sortieren
deshalb die Calc.Datei
Gruß bernd
Die Textdatei wir immer in der selben Reihenfolge gespeichert.
Die Zahlenwerte ändern sich aber nicht die Einheiten.
Ich hänge mal drei Messungen an.
Ich muß die gemessenen Quarze dann nach Frequenz und Güte sortieren
deshalb die Calc.Datei
Gruß bernd
- miesepeter
- ********
- Beiträge: 2228
- Registriert: Sa, 10.05.2008 15:05
- Wohnort: Bayern
Re: Übernahme von Daten aus TXT Dateien.
Workaround ohne Makro
Dieser Workaround macht Sinn, wenn du mehrere oder viele Einzeldateien hast.
1. Füge die Dateien in eine einzige zusammen (Anleitungen im Internet); im Linux-Terminal wäre der Befehl so:
cat *txt > neu.txt
Hier werden alle vorkommenden txt-Dateien, die sich in einem Ordner befinden, zur Datei neu.txt zusammenkopiert.
Unter Windows benutzt man die cmd-Shell und gibt Folgendes ein:
copy *.txt neu.txt
(txt-Dateien in Windows zusammenkopieren mit der PowerShell siehe: https://www.winboard.org/threads/mit-po ... es.255873/)
2. Lade die Datei neu.txt im Writer und nimm mit AltSearch.oxt folgende Änderungen/Ersetzungen vor:
SUCHEN (alle): MHz\p
ERSETZEN (alle): MHz;
(Muss aktiviert sein: [x] reguläre Ausdrücke
. . .
3. Zahlenformat Mitteleuropa: Suche Punkte und ersetze mit Komma (mit AltSearch.oxt oder dem regulären SUCHEN&ERSETZEN-Werkzeug; reguläre Ausdrücke brauchen hier nicht angewendet zu werden).
4. Kopiere den gesamten Text und füge als unformatierten Text in Calc ein. Beachte hierzu, wie die Feldtrenner definiert wurden.
. .
Nach Einfügen kannst du die reinen Zahlen spaltenweise in dein Schema einfügen.
Noch geschickter wäre es u.U., die Datei gleich so anzulegen wie die Daten importiert werden (und bei Bedarf die entsprechenden Spalten auszublenden...). Ein (folgendes) Sortieren wäre hier relativ einfach.
Ciao
EDIT
Der Beitrag wurde zweimal editiert.
Dieser Workaround macht Sinn, wenn du mehrere oder viele Einzeldateien hast.
1. Füge die Dateien in eine einzige zusammen (Anleitungen im Internet); im Linux-Terminal wäre der Befehl so:
cat *txt > neu.txt
Hier werden alle vorkommenden txt-Dateien, die sich in einem Ordner befinden, zur Datei neu.txt zusammenkopiert.
Unter Windows benutzt man die cmd-Shell und gibt Folgendes ein:
copy *.txt neu.txt
(txt-Dateien in Windows zusammenkopieren mit der PowerShell siehe: https://www.winboard.org/threads/mit-po ... es.255873/)
2. Lade die Datei neu.txt im Writer und nimm mit AltSearch.oxt folgende Änderungen/Ersetzungen vor:
SUCHEN (alle): MHz\p
ERSETZEN (alle): MHz;
(Muss aktiviert sein: [x] reguläre Ausdrücke
. . .
3. Zahlenformat Mitteleuropa: Suche Punkte und ersetze mit Komma (mit AltSearch.oxt oder dem regulären SUCHEN&ERSETZEN-Werkzeug; reguläre Ausdrücke brauchen hier nicht angewendet zu werden).
4. Kopiere den gesamten Text und füge als unformatierten Text in Calc ein. Beachte hierzu, wie die Feldtrenner definiert wurden.
. .
Nach Einfügen kannst du die reinen Zahlen spaltenweise in dein Schema einfügen.
Noch geschickter wäre es u.U., die Datei gleich so anzulegen wie die Daten importiert werden (und bei Bedarf die entsprechenden Spalten auszublenden...). Ein (folgendes) Sortieren wäre hier relativ einfach.
Ciao
EDIT
Der Beitrag wurde zweimal editiert.
Re: Übernahme von Daten aus TXT Dateien.
Hallo
ich vermisse irgendwie die Möglichkeit nach diesem Import nach Calc und spätestens nach Sortierung die Datensätze zu konkreten Messungen (Quarzen ) zuzuordnen?
Daher hab ich mal die vermutlichen Namen der einzelnen Dateien mit verarbeitet, hier mal mit einem direkten Import in ein Calcdokument:
Es »erwartet« die …txt-Dateien im Unterverzeichnis ~/Documents/quarz/ deines Benutzers (egal ob Windows oder linux)
Der python-code ist mit in der angehängten
ich vermisse irgendwie die Möglichkeit nach diesem Import nach Calc und spätestens nach Sortierung die Datensätze zu konkreten Messungen (Quarzen ) zuzuordnen?
Daher hab ich mal die vermutlichen Namen der einzelnen Dateien mit verarbeitet, hier mal mit einem direkten Import in ein Calcdokument:
Code: Alles auswählen
from pathlib import Path
import re
number = re.compile(r"\d+\.?\d+")
def import_from_quarzfolder(*_):
out = [["ID","Bandbreite Hz","MittenFrequenz Mhz",
"Frequenz F1 Mhz","Frequenz F2 Mhz","Güte Q"]]
for file in Path.home().glob("Documents/quarz/*.txt"):
with file.open(encoding="utf8") as in_file:
row = [file.stem]
row.extend(list(map(float,number.findall(in_file.read()))))
out.append(row)
doc = XSCRIPTCONTEXT.getDocument()
sheet = doc.CurrentSelection.Spreadsheet
cursor = sheet.createCursor()
cursor.collapseToSize(len(out[0]),len(out))
cursor.DataArray = out
Der python-code ist mit in der angehängten
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Übernahme von Daten aus TXT Dateien.
Hallo
Hier noch ein Einzeiler der sämtliche …txt -dateien eines Verzeichnisses in eine kompakte neue.csv einliest:
die neue.csv hat hinterher den folgenden Inhalt:
Hier noch ein Einzeiler der sämtliche …txt -dateien eines Verzeichnisses in eine kompakte neue.csv einliest:
Code: Alles auswählen
sed -zr 's/z\n/;/g;s/((B|l|f)[1-3]|[A-Za-z: +])//g;s/\./,/g' $(ls *.txt) > neue.csv
Code: Alles auswählen
900;11,996;11,9955;11,9964;13328,89
600;11,9974;11,997;11,9977;19995,58
900;11,9962;11,9957;11,9966;13329,06
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)