Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel, txt, Powershell

Forumthread: Excel, txt, Powershell

Excel, txt, Powershell
19.01.2021 14:49:25
HomOFaber
Hallo,
Ich habe heute ein multidimensionales Anliegen und bin aber sehr sicher, dass ihr mir helfen könnt :-D
Setting:
Ich habe 400 einzelne txt Dateien, die alle die gleiche Überschrift haben, darunter aber logischerweise unterschiedliche Informationen.
Ich möchte alle 400 Dateien in einer zusammenfassen und die Überschriften entfernen, sodass oben nur noch einmal die Überschrift steht.
Überlegt habe ich schon dieses Verfahren:
https://socialmediaone.de/mehrere-textdateien-zusammenfuehren-in-sekunden-notepad-alternative/
Ich habe allerdings Microsoft Powershell und bekomme folgende Fehlermeldung.
In Zeile:1 Zeichen:4
+ for %f in (*.txt) do type "%f" >> output.txt
Öffnende "(" fehlt nach dem Schlüsselwort "for".
+ CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingOpenParenthesisAfterKeyword
Vielleicht kann jemand helfen - happy for help!
Danke
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel, txt, Powershell
19.01.2021 14:52:52
ralf_b
naja die cmd.exe hast du bestimmt auch.
AW: Tutorial: Schrott!
19.01.2021 14:55:58
Fennek
es geht einfacher:

copy *.txt all.txt

BTW: Die Frage ist unverständlich/unvollständig.
AW: Tutorial: Schrott!
19.01.2021 15:00:30
HomOFaber
Hallo Fennek,
Danke für deinen Support und bitte entschuldige die unverständliche Erklärung - ich probiere es erneut.
Falls du schon mal einen Beitrag hier von mir gelesen hast, beschäftige ich mich mit Szientometrie - das ist auf gut Deutsch (advanced) data analytics for scientific data - hier zu leitet man z.B. aus wissenschaftlichen Datenbanken, wie dem Web of Science bibliometrische Daten.
In diesem Fall habe ich die Daten von 400 Papern extrahiert - Fail: WoS kann diese nur als einzelne Txt.-Dateien extrahieren, wenn die Suche spezifisch ist.
Also habe ich nun einen Ordner mit 400 .txt-Dateien, die alle das gleiche Überschriftsformat aber natürlich andere Angaben bzgl. Autor, Name, Abstract usw.
Ich würde diese gerne in eine Datei zusammenführen incl. einmaliger Überschrift on top - damit ich mit der großen Datei weitere Analysen fahren kann.
Anzeige
AW: Meine Vorgehensweise ...
19.01.2021 15:34:56
Fennek
Da das Importieren entweder einmalig oder eher selten ist, würde ich alle 400 txt-Dateien auf der DOS-Ebene (cmd) wie gezeigt zusammen kopieren und dan mit VBA "OPEN all.txt FOR READING as #1" einlesen. Diese geht auf einmal in ein Array, dann müßten aber noch die mehrfacher Überschriften gesucht und gelöscht werden.
Aber: Jede Software ist nur so gut wie Du sie nutzen kannst.
Ich erinnere mich dunkel an frühere Fragen von Dir. Das Thema scheint interessant zu sein, solange Du für mich verständlich fragst, versuche ich dir zu helfen.
Anzeige
AW: Excel, txt, Powershell
19.01.2021 15:19:55
ralf_b
es gibt auch Powerquery, soll genau dafür gemacht sein.
;
Anzeige

Infobox / Tutorial

Excel-Dateien zusammenführen mit Powershell


Schritt-für-Schritt-Anleitung

  1. Öffne Powershell: Klicke auf das Windows-Startmenü, suche nach "Powershell" und öffne es.
  2. Navigiere zum richtigen Verzeichnis: Wechsle in den Ordner, in dem sich deine .txt-Dateien befinden. Benutze dazu den Befehl:
    cd "C:\Pfad\zu\deinem\Ordner"
  3. Führe das Skript aus: Verwende das folgende Powershell-Skript, um die .txt-Dateien zu kombinieren und die Überschrift nur einmal oben zu behalten:
    # Überschrift definieren
    $header = "Überschrift"
    # Erstelle die Ausgabedatei und schreibe die Überschrift
    $outputFile = "output.txt"
    Set-Content $outputFile $header
    # Füge die Inhalte der txt-Dateien hinzu, ohne die Überschrift zu wiederholen
    Get-Content *.txt | Select-Object -Skip 1 | Add-Content $outputFile

Häufige Fehler und Lösungen

  • Fehlermeldung: "Öffnende '(' fehlt nach dem Schlüsselwort 'for'."

    • Diese Fehlermeldung tritt auf, wenn du versuchst, einen Befehl aus der CMD (Eingabeaufforderung) in Powershell auszuführen. Stelle sicher, dass du Powershell-spezifische Befehle verwendest.
  • Dateien werden nicht gefunden.

    • Überprüfe den Pfad zu deinem Verzeichnis. Stelle sicher, dass du dich im richtigen Ordner befindest.

Alternative Methoden

Eine andere Möglichkeit, um mehrere .txt-Dateien zusammenzuführen, ist die Verwendung von Power Query in Excel. Hier ist, wie du es machen kannst:

  1. Öffne Excel und gehe zu "Daten".
  2. Klicke auf "Daten abrufen" und wähle "Aus Datei" -> "Aus Ordner".
  3. Wähle den Ordner mit deinen .txt-Dateien aus.
  4. Lade die Daten in Power Query und transformiere sie nach Bedarf (zum Beispiel, um die Überschrift zu entfernen).
  5. Lade die Daten zurück in Excel.

Praktische Beispiele

Angenommen, du hast die Dateien file1.txt, file2.txt, ..., file400.txt, die alle die gleiche Überschrift "Daten" haben. Das oben genannte Powershell-Skript erstellt eine Datei output.txt, die so aussieht:

Daten
Inhalt von file1
Inhalt von file2
...
Inhalt von file400

Tipps für Profis

  • Automatisiere den Prozess: Wenn du regelmäßig Daten importierst, kannst du das Powershell-Skript in eine .ps1-Datei speichern und es bei Bedarf ausführen.
  • Verwende Excel VBA: Du kannst auch Excel VBA verwenden, um die Daten aus den .txt-Dateien zu importieren und die Verarbeitung zu automatisieren. Ein Beispielbefehl wäre:
    Open "output.txt" For Input As #1
    ' Weiterverarbeitung hier

FAQ: Häufige Fragen

1. Kann ich das Skript auch in anderen Versionen von Excel verwenden? Ja, das Powershell-Skript ist unabhängig von Excel-Versionen und kann auf jedem Windows-Rechner ausgeführt werden.

2. Was mache ich, wenn ich mehr als 400 Dateien habe? Das Skript ist flexibel und kann mit beliebig vielen .txt-Dateien umgehen. Stelle lediglich sicher, dass sie im gleichen Ordner liegen.

3. Wie kann ich Powershell-Skripte speichern? Du kannst ein Powershell-Skript in einer .ps1-Datei speichern, indem du den Code in einen Texteditor kopierst und die Datei mit der Endung .ps1 speicherst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige