Textdateien in einer Tabelle zusammenführen
Moderator: Moderatoren
Textdateien in einer Tabelle zusammenführen
Guten Tag miteinander,
ich versuche derzeit mehrere Textdateien in einer Tabelle bevorzugt, CSV zusammenzuführen. Die Textdateien liegen alle in einem Ordner in in der Tabelle selbst soll eigentlich ganz simpel, der Dateiname in der ersten spalte stehen und der Inhalt der .txt Datei in der zweiten spalte. Nur leider kenne ich mich mit macros bzw. VBA scripten noch zu wenig aus um etwas vernünftiges zustande zu bringen.
Ich hoffe da kann mir jemand helfen.
Vielen Dank schon einmal
Gruß
DoGoG
ich versuche derzeit mehrere Textdateien in einer Tabelle bevorzugt, CSV zusammenzuführen. Die Textdateien liegen alle in einem Ordner in in der Tabelle selbst soll eigentlich ganz simpel, der Dateiname in der ersten spalte stehen und der Inhalt der .txt Datei in der zweiten spalte. Nur leider kenne ich mich mit macros bzw. VBA scripten noch zu wenig aus um etwas vernünftiges zustande zu bringen.
Ich hoffe da kann mir jemand helfen.
Vielen Dank schon einmal
Gruß
DoGoG
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Textdateien in einer Tabelle zusammenführen
Willkommen im Forum.
Für diese Aufgabe würde ich nicht StarBasic nehmen, sondern bash.
Habe gehört, dass in neueren Version von Windows die bash dabei ist, ansonsten bspw cygwin nehmen.
Viel Erfolg!
Für diese Aufgabe würde ich nicht StarBasic nehmen, sondern bash.
Code: Alles auswählen
#!/bin/bash
# define a target file name
target="all.csv"
# change to dir where the files are
cd "../testdata"
# loop the files
for file in s*.txt
do
# info to console
echo "processing file: $file"
# the filename
printf $file >> $target
# csv delimiter
printf ";" >> $target
# file content (stripping the newline)
cat $file | tr -d "\n" >> $target
# add a newline
printf "\n" >> $target
done
Viel Erfolg!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Textdateien in einer Tabelle zusammenführen
danke erstmal, aber irgendwie passt da etwas nicht, er schreibt einfach den Inhalt der .txt Dateien alles in eine CSV aber für jede Zeile in der Text Datei nutzt er auch eine neue in der .csv.
Also falls da etwas flasch verstanden wurde.
der Dateiname soll in die erste Spalte und der Inhalt der .txt Datei in die zweite spalte, aber für jede neue datei eine neue Zeile erstellt werden.
Beispiel:
Spalte1 | Spalte2
Zeile1| Dateiname_test1 | Inhalt_test1
Zeile2| Dateiname_test3 | Inhalt_test2
Zeile9| Dateiname_test9 | Inhalt_test9
usw.
Ich hoffe jetzt ist es verständlich
Also falls da etwas flasch verstanden wurde.
der Dateiname soll in die erste Spalte und der Inhalt der .txt Datei in die zweite spalte, aber für jede neue datei eine neue Zeile erstellt werden.
Beispiel:
Spalte1 | Spalte2
Zeile1| Dateiname_test1 | Inhalt_test1
Zeile2| Dateiname_test3 | Inhalt_test2
Zeile9| Dateiname_test9 | Inhalt_test9
usw.
Ich hoffe jetzt ist es verständlich
Re: Textdateien in einer Tabelle zusammenführen
Wir haben das schon verstanden, was du möchtest, aber warum sollen wir ständig den Ghostwriter spielen für jeden "Möchte-gern"-programmierer.
Hier ist eine Lösung in python, die darfst du benutzen und für dich anpassen:
Hier ist eine Lösung in python, die darfst du benutzen und für dich anpassen:
Code: Alles auswählen
from glob import glob
def textsammler():
doc =XSCRIPTCONTEXT.getDocument()
sheet = doc.CurrentSelection.Spreadsheet
out = []
for filename in glob('test/*.txt'):
with open(filename) as textfile:
out.append((filename, textfile.read()))
sheet[0:len(out),:2].DataArray = out
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO7.6.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Re: Textdateien in einer Tabelle zusammenführen
ich habe nie behauptet das ich programmieren könnte, ich kann es schlicht einfach nicht und habe daher Hilfe gesucht.Karolus hat geschrieben: ↑Mi, 15.03.2017 19:26 Wir haben das schon verstanden, was du möchtest, aber warum sollen wir ständig den Ghostwriter spielen für jeden "Möchte-gern"-programmierer.
Hier ist eine Lösung in python, die darfst du benutzen und für dich anpassen:
Code: Alles auswählen
from glob import glob def textsammler(): doc =XSCRIPTCONTEXT.getDocument() sheet = doc.CurrentSelection.Spreadsheet out = [] for filename in glob('test/*.txt'): with open(filename) as textfile: out.append((filename, textfile.read())) sheet[0:len(out),:2].DataArray = out
-
- ******
- Beiträge: 919
- Registriert: Mo, 12.04.2010 00:37
Re: Textdateien in einer Tabelle zusammenführen
Hallo, das hört sich schon an, als ob du es selbst erlernen möchtest. Bisher davon sehen kann ich aber eigentlich nix. Sonst hättest du mal gepostet, was du probiert hast, und was dann nicht klappt.
Ich glaube in diese Richtung geht der "Vorwurf" von Karolus.
Grüße
Thomas
Re: Textdateien in einer Tabelle zusammenführen
Wie sind denn die Inhalte der txt-Datei beschaffen? Ich vermute eher kurze Texte, aber ist sicher das die Texte jeweils nur einen Absatz umfassen?und der Inhalt der .txt Datei in die zweite spalte
Gruß
Stephan
Re: Textdateien in einer Tabelle zusammenführen
Die Texte in den Dateien sind leider teils unterschiedlich, mal längere Texte mit 2-3 Absätzen aber auch kurze mit 6+ Absätzen, sehr gemischt eben.