Ich mache einen Vergleich für zwei CSV-Dateien, die Spalten und entsprechende Werte für jede Spalte in jeder neuen Zeile hat. Spalten werden in der ersten Zeile der Datei angegeben. Jede Zeile danach enthält Daten für jede Spalte.Vergleichen von zwei CSV-Dateien nach Spalte und Wert und Anzeigen von Zeilennummern unterschiedlicher Werte
Ich versuche ein Programm zu erstellen, das Dateien mit unterschiedlichen Zeilennummern und Anzahl von Spalten verarbeiten kann und eines, das auch die Zeilennummer von Werten anzeigen kann, die sich unterscheiden und dann eine neue Textdatei erstellen, die die Zeilennummer anzeigt. Spaltenname und Wert von Datei 1 und Datei 2.
Der Vergleich sollte basierend auf einer Kennung anstelle von Zeile für Zeile erfolgen. Wenn in der Spaltenzeile bestimmte Spaltendaten fehlen, kann die Anzahl der Spalten angezeigt werden, deren Daten fehlten.
So zum Beispiel:
worker1.csv:
Namen, Alter, Größe, Geschlecht;
Bob; 21; 190; Männchen
John; 35; 182; Männchen
Rose;
Mary; 20; 175; weiblich
worker2.csv
Namen, Alter, Größe, Geschlecht
Bob; 21; 185; männlich
John; 30; 186; männlich
Maria;
output.csv
Unterschiede in Mary gefunden:
Datei 2, Zeilennummer 3, fehlt drei Werte
Unterschiede in Bob gefunden:
Datei 1, Zeile Nummer 1, Höhe: 190
Datei 2, Zeilennummer 1, Höhe: 185
Unterschiede gefunden in John:
Datei 1, Zeilennummer 2, Alter: 35, Höhe: 182
Datei 2, Zeilennummer 3, Alter: 30, Höhe: 186
Wie soll ich das machen? Ich habe in LINQ's Ausgenommen auf beiden Dateien Linien, aber wie bekomme ich die Zeilennummern?
Ich würde CSV-Daten in DataTables lesen. Es gibt viele Informationen im Internet, um zwei Databases zu vergleichen. Siehe meinen Importcode bei folgendem Beitrag: http://stackoverflow.com/questions/30129406/reading-data-from-csv-to-screen-output – jdweng
Willkommen beim Stack-Overflow :-) Was hast du bisher probiert? Zeig uns bitte deinen Code. Bitte schauen Sie [ask] – JimHawkins
Danke :) Das stellte sich als komplizierter heraus, als ich anfangs dachte. Ich habe bereits eine unordentliche Lösung versucht, die jede Zeile in ein Diktat mit entsprechenden Schlüsseln und Werten umwandelte. Also hat eine Datei im Grunde eine Liste von Wörterbüchern gebildet, die ich dann mit den Diäten der anderen Zeile verglichen habe. Während es irgendwie funktioniert, ist es ziemlich kompliziert und es bricht sehr leicht, wenn vergleichbare Dateien eine unterschiedliche Anzahl von Zeilen haben oder wenn die andere Datei eine Zeile mit unterschiedlichen Werten hat. Ich habe meine bisherigen Lösungen meist verschrottet: D – Makezu