2016-12-09 4 views
0

Ich habe zwei CSV-Dateien ungleich lang halten, die eine Spalte haben, die wie folgt aussieht:Python - eine Spalte der Daten in zwei CSV-Dateien vergleichen und diejenigen, gemeinsam

CSV 1

EntryDate 
9/3/10 
9/27/10 
10/5/10 
10/11/10 
10/20/10 
10/25/10 

CSV 2

EntryDate 
9/7/10 
9/27/10 
10/11/10 
11/3/10 

ich möchte die zwei Dateien vergleichen und geben die Daten, die sie gemeinsam haben. Ich habe damit in Python 3 begonnen, zwei Datenrahmen der Spalten in Pandas zu erstellen.

Ich versuchte pd.merge und difflib, aber es hat nicht funktioniert. Ich habe auch andere ohne Glück versucht. Hilfe oder Richtung geschätzt.

+0

Sind die Dateien nach Datum sortiert? – wwii

Antwort

0

Angenommen, beide Dateien sind sortiert.

preps:

  • Öffnen Sie jede Datei, file1 und file2
  • call next auf die Dateien der Header-
  • Ruf als nächstes auf die Dateien überspringen die erste Zeile von jeder Datei zu erhalten

der Rest:

  • convert Linie von jeder Datei in ein datetime object so können sie
  • wenn die Daten gleich sind,
    • speichern eine in einem Behälter, vielleicht eine Liste
    • Aufruf als nächste auf jede Datei verglichen werden, um die nächsten zu kommen Linien von jeder
  • wenn file1 Linie größer ist als file2 Linie,
    • Anruf n ext auf file2 und erhalten die nächste Zeile
  • wenn file1 Linie als file2 Linie weniger ist,
    • Ruf als nächste auf file1 und seine nächste Zeile von einer erhöhten
  • Wiederholung bis StopIteration erhalten die Dateien
Verwandte Themen