GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie verbinde ich zwei CSV-Dateien?

Verwenden Sie csvkit:

csvjoin -c email id_email.csv email_name.csv

oder

csvjoin -c 2,1 id_email.csv email_name.csv

Revision3 :

Sie müssen beide E-Mail-Listen alphabetisch sortieren und dann beitreten. Da das E-Mail-Feld das 2. Feld von Datei1 und das 1. Feld von Datei2 ist:

sort -t , -k 2,2 file1.csv > sort1.csv
sort -t , -k 1,1 file2.csv > sort2.csv
join -t , -1 2 -2 1 sort1.csv sort2.csv > sort3.csv

Parameterbedeutung

-t ,   : ',' is the field separator
-k 2,2 : character sort on 2nd field
-k 1,1 : character sort on 1st field
-1 2   : file 1, 2nd field
-2 1   : file 2, 1st field
>      : output to file

produziert

email,ID,name
email,ID,name
...

nach E-Mail alphabetisch sortiert.

Beachten Sie, dass fehlende E-Mails in einer der Dateien in den Ergebnissen weggelassen werden.


Vielleicht ist es übertrieben, aber Sie könnten zwei Arten von Tabellen in eine Datenbank (z. B. OpenOffice Base) importieren und einen Bericht definieren, der die gewünschte Ausgabe ist.

Wenn der CSV-Import ein Problem darstellt, kann ein Tabellenkalkulationsprogramm (z. B. OpenOffice Calc) den Import durchführen. Das Ergebnis kann dann einfach in die Datenbank übernommen werden.


Linux
  1. So verbinden Sie zwei Textdateien unter Linux

  2. Wie kann man zwei Dateien mit AWK zusammenführen?

  3. wie man zwei Dateien konsistent Zeile für Zeile zusammenführt

  4. Wie kann ich zwei XML-Dateien unterscheiden?

  5. Wie kann ich alle eindeutigen Dateien in zwei Verzeichnissen finden / auflisten?

So zeigen Sie zwei Dateien nebeneinander in Linux an

So vergleichen Sie zwei Dateien im Linux-Terminal

So synchronisieren Sie Dateien automatisch zwischen zwei Linux-Servern

So finden Sie Dateien in Debian

So bereinigen Sie unnötige Dateien

Wie kann ich zwei Tex-Dateien gleichzeitig in TeXstudio sehen?