Wie entferne ich übereinstimmende Zeilen?

0

Ich habe eine CSV-Datei mit einer Liste von Personen (Vorname, Nachname, E-Mail-Adresse). Später erhalte ich eine Liste von Personen in einer anderen CSV-Datei, die nicht abonniert wurde (nur eine Spalte mit E-Mail-Adresse).

F: Wie kann ich alle Zeilen aus der ersten Datei löschen, falls die Zeile eine E-Mail von jemandem enthält, der sich abgemeldet hat?

Ich habe überlegt, eine Tabelle zu verwenden (MS Excel, Open Office, Google), aber ich kann jede andere Lösung verwenden.

Ich habe MS Excel ausprobiert, aber das einfache Entfernen von Duplikaten funktioniert nicht. Ich denke, ich muss einen anderen Ansatz verwenden. Aber weiß nicht, was als nächstes zu tun ist.

Beachten Sie, dass ich die "saubere" CSV in eine neue Datei exportieren muss. Natürlich möchte ich nicht, dass die Datei die "abgemeldete" E-Mail enthält.

Radek
quelle
Wir sind nicht hier, um Ihnen zu sagen, welches Programm Sie verwenden sollen und wie Sie es tun sollen. Wir sind hier, um Ihnen zu helfen, wenn Sie uns mitteilen, was Sie versucht haben. Entscheiden Sie, was Sie verwenden möchten, und teilen Sie, wo Sie stecken bleiben.
CharlieRB
Ich habe MS Excel ausprobiert, aber das einfache Entfernen von Duplikaten funktioniert nicht. Ich denke, ich muss einen anderen Ansatz verwenden. Aber weiß nicht, was als nächstes zu tun ist.
Radek,
@ sunk818: das ist eine tolle idee. Es verdient eine Antwort ...
Radek

Antworten:

2

Wenn Sie Microsoft Access verwenden, können Sie einfach eine Verknüpfung mit der unsub-CSV herstellen (vorausgesetzt, es handelt sich jedes Mal um dieselbe Datei mit nur unterschiedlichen E-Mails). Erstellen Sie dann eine Abfrage und eine Aktualisierungsabfrage, die Ihre Abonnenten mit einem Abmeldekennzeichen kennzeichnet. Möglicherweise kann dieselbe Abfrage eine andere Spalte mit dem aktuellen Datum und der aktuellen Uhrzeit aktualisieren. Sie können dann eine andere Abfrage ausführen, die die aktualisierte Tabelle in eine saubere CSV exportiert. All dies können Sie als Makro in Access ausführen. Solange Ihre verknüpfte CSV-Datei dieselbe ist, kann alles andere automatisch verarbeitet und in Sekundenschnelle eine saubere CSV erstellt werden.

Sonne
quelle
Aus diesem Grund wurde nach anderen Lösungsvorschlägen gefragt. Ich denke, dass es ein bisschen einfacher und schneller sein könnte, db zu benutzen.
Radek,
1

Ich habe eine halbautomatische Möglichkeit, dies in Excel zu tun:

  1. Importieren Sie die CSV-Dateien in zwei Blätter. Ich habe sie angerufen MasterListundUnsubList
  2. Sortieren Sie die UnsubList ( Sort A to Z) mit der Schaltfläche Sortieren & Filtern
  3. In der MasterListerstellte ich eine weitere Spalte namensUnsub?
  4. Geben Sie in jede Zeile unter der Unsub?Spalte die folgende Formel ein:

    =IF(C2=VLOOKUP(C2,UnsubList!$A$2:$A$1000,1),"Unsub","Keep")

    In diesem Beispiel wäre es für die 2. Reihe. Wenn die Unsub-Liste mehr als 999 Einträge enthält, müssen Sie den Bereich vergrößern.

  5. Aktivieren Sie dann Filter (unter der Schaltfläche Sortieren & Filtern). Sie sollten etwas haben, das dem Screenshot unten ähnlich ist.

  6. Deaktivieren Sie nur die KeepZeilen in der Dropdown-Liste für die Unsub?Spalte. Dies bedeutet, dass nur die Zeilen sichtbar bleiben, die entfernt werden müssen
  7. Wählen Sie alle diese Zeilen mit Ausnahme der Überschrift aus, indem Sie die Zeilennummern von oben nach unten ziehen, mit der rechten Maustaste klicken und Deleteim Popup-Menü auf klicken
  8. Jetzt sind sie aus der MasterList verschwunden
  9. Löschen Sie die Unsub-Spalte und exportieren Sie sie erneut nach csv

Meisterliste

UnsubList

Alex
quelle