Textdateien in einer Tabelle zusammenführen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Textdateien in einer Tabelle zusammenführen

Re: Textdateien in einer Tabelle zusammenführen

von DoGoG » Fr, 17.03.2017 15:24

Stephan hat geschrieben: Fr, 17.03.2017 08:44
und der Inhalt der .txt Datei in die zweite spalte
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?


Gruß
Stephan
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.

Re: Textdateien in einer Tabelle zusammenführen

von Stephan » Fr, 17.03.2017 08:44

und der Inhalt der .txt Datei in die zweite spalte
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?


Gruß
Stephan

Re: Textdateien in einer Tabelle zusammenführen

von Thomas Mc Kie » Fr, 17.03.2017 07:44

DoGoG hat geschrieben: Mo, 06.03.2017 15:49Nur leider kenne ich mich mit macros bzw. VBA scripten noch zu wenig aus um etwas vernünftiges zustande zu bringen.
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

von DoGoG » Do, 16.03.2017 18:43

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
ich habe nie behauptet das ich programmieren könnte, ich kann es schlicht einfach nicht und habe daher Hilfe gesucht.

Re: Textdateien in einer Tabelle zusammenführen

von Karolus » 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

Re: Textdateien in einer Tabelle zusammenführen

von DoGoG » Mi, 15.03.2017 17:48

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

Re: Textdateien in einer Tabelle zusammenführen

von komma4 » Mo, 06.03.2017 18:38

Willkommen im Forum.

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
Habe gehört, dass in neueren Version von Windows die bash dabei ist, ansonsten bspw cygwin nehmen.

Viel Erfolg!

Textdateien in einer Tabelle zusammenführen

von DoGoG » Mo, 06.03.2017 15:49

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

Nach oben