Wie werden zwei Excel-Arbeitsblätter mit derselben ersten Spalte automatisch zusammengeführt?

498
koreamaniac101

Bevor jemand behauptet, dass dieses Problem schon einmal gelöst wurde, suche ich nach einem automatischen System (Makro, Programm usw.), das Folgendes erreichen kann:

  • Zusammenführen mehrerer Arbeitsmappen (separate Dateien, keine Blätter) in einer gemeinsamen Spalte.

Die erste Spalte ist für alle Dateien gleich. Es gibt jedoch 500 einzelne CSV-Dateien mit jeweils etwa 7000 Zeilen

Ich kenne die VLOOKUP () - Funktion, die Consolidate-Funktion und Programme wie Kutools und Ablebits. Nichts davon scheint jedoch meinem Zweck zu entsprechen, eine einzige Arbeitsmappe mit all diesen Dateien zu erstellen, die durch die gemeinsame Spalte kombiniert werden.

Kennt jemand ein VBA-Makro oder ein anderes Programm, das mir dabei helfen kann?

BEARBEITEN: Unten finden Sie Links zu zwei der 500 Dateien:

1. https://docs.google.com/spreadsheets/d/1rRdNS9K6QYjfH2_P9wmR5YS0-Ectl1SnVn2SfFz9UUY/edit?usp=sharing

2. https://docs.google.com/spreadsheets/d/13Dmc6hKHCG4RBF2an3NZ7nux5ffI5F5cigbz5fFyaPI/edit?usp=sharing

0
Wie viele Spalten haben Ihre CSV-Dateien? Können Sie eine Probe Ihrer Daten zur Verfügung stellen? Ist eine Python-Lösung akzeptabel (ein Dutzend Zeilen Python + Pandas sollten den Trick tun ...)? agtoever vor 5 Jahren 0
Python ist vollkommen in Ordnung! Jede CSV-Datei hat nur zwei Spalten. koreamaniac101 vor 5 Jahren 0
Die Ausgabe sollte also eine csv-Datei mit ~ 7000 Zeilen und ~ 500 + 1 Spalten sein? agtoever vor 5 Jahren 0
Genau. Außerdem habe ich den ursprünglichen Beitrag so bearbeitet, dass er zwei der 500 Dateien enthält. Wie Sie sehen, sind die ersten Spalten jeder Datei identisch. koreamaniac101 vor 5 Jahren 0

1 Antwort auf die Frage

-1
agtoever

Kombinieren Sie in einer Linux-Shell paste und awk .

paste -d, *.csv | awk -F, ' '

Der Befehl Einfügen setzt alle Spalten aller Dateien nebeneinander. Das awk-Skript löscht alle ungeraden Spalten, beginnend mit der dritten.

Ich habe die Anweisungen befolgt und Ubuntu auf meinen Computer heruntergeladen. Ich habe die Shell ausgeführt und das Verzeichnis (cd-Befehl) in die gewünschte Datei verschoben. Wenn ich jedoch den Befehl ausführte, den Sie gepostet haben, erhalte ich die folgende Fehlermeldung: Einfügen: '* .csv': Keine solche Datei oder dieses Verzeichnis. Ich habe einen ls-Befehl ausgeführt, um sicherzustellen, dass alle meine CSV-Dateien vorhanden sind. koreamaniac101 vor 5 Jahren 0
Egal, ich habe das Problem behoben. Alle meine Dateierweiterungen wurden als .CSV und nicht als .csv angezeigt. Der Befehl ist abhängig von der Dateierweiterung. Meine letzte Frage: Wo ist die neue Datei jetzt? Der Befehl lief einwandfrei, aber ich sehe keine neue Datei. koreamaniac101 vor 5 Jahren 0
Die Ausgabe wird in der Konsole angezeigt. Umleiten Sie es in eine Datei, indem Sie `> output.txt` hinzufügen, um es in die Datei` output.txt` zu schreiben. agtoever vor 5 Jahren 0
Danke, aber ich hatte gehofft, es in einer CSV-Datei zu haben. Das ultimative Ziel besteht darin, eine .csv-Datei (oder xlsx-Datei) mit ungefähr 7000 Spalten und 500 Zeilen (eine für jede zweite Spalte der Datei) zu haben. Ich habe den Befehl in eine CSV-Datei umgeleitet, aber er funktionierte nicht richtig und zeigte nur eine große einzelne Spalte. koreamaniac101 vor 5 Jahren 0