Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Mai

SELFHTML Forumsarchiv
Zwei csv-Dateien vereinigen

Informationsseite
  1. Seite (PROGRAMMIERTECHNIK) Zwei csv-Dateien vereinigen von ponca, 31. 05. 2008, 21:04
nach unten

Zwei csv-Dateien vereinigen

Die folgende Nachricht zum Thema stammt von: ponca, 31. 05. 2008, 21:04

Hallo Community!

Ich soll fortan regelmäßig Daten aus einer Datenbank in die einer anderen einpflegen. Beides sind Mitgliedsdatenbanken und beinhalten Personendaten. Diese Daten liegen mir aus beiden Datenbanken als .csv-Dateien vor. Problem ist, dass sie aus zwei unterschiedlichen Datenbanken stammen und daher nicht die gleichen Spalten haben und auch nicht in der gleichen Art und Weise gespeichert werden. Damit das anschaulicher wird, hier mal Auszüge aus den Original-csv-Dateien, allerdings verfremdet:


Datei1.csv:
-----------------------------------------------------------------------
"mitgliedsnr";"name";"geburtsname";"vorname";"titel";"strasse";"hausnr"
"100000";"Müller";"Meier";"Anglika";"Dr.";"Vogelweg";"24 c"
"100001";"Schulze";"";"Hubert";"Dr.";"Säugetierstr.";"26"
-----------------------------------------------------------------------

Datei2.csv:
-----------------------------------------------------------------------
STAMMNUMMER;NAME;TITEL;VORNAME;GEBURTSDATUM;STRASSE
100001;Schulze;;Hubert;01.01.1900;Säugetierstr. 26
100002;Richter;;Alexander;01.01.1979;Reptilweg 7
-----------------------------------------------------------------------


Die Daten aus „Datei1.csv“ sollen in „Datei2.csv“ eingelesen werden, allerdings nur die Spalten „Mitgliedsnummer“/“Stammnummer“, „Nachname“/„Name“, „Vorname“.

Nun könnte ich einfach beide Tabellen in Excel öffnen und die gewünschten Inhalte aus Datei1 ans Ende von Datei2 kopieren. Dabei gibt es aber mehrere Probleme:
1. Gibt es viele redundante Daten. Die, die schon in Datei2 vorliegen sollten also am besten gar nicht erst aus Datei1 kopiert werden.
2. Wenn das erste Problem gelöst ist und alle Daten in einer Datei vorliegen, muss diese wieder als csv gespeichert werden und zwar mit genau den Separatoren, die auch vorher schon genutzt wurden. In Datei2 wäre das also ein Semikolon, wobei zu beachten ist, dass die einzelnen Zellinhalte nicht durch Anführungszeichen umgeben sein sollen (wie dies in Datei1 der Fall ist).

Wie und womit würde man denn am besten so ein Problem angehen? Und zwar möglichst so, dass eine Lösung bei raus kommt, die auch jemand anders bedienen kann, der kein spezielles Programm (Excel wäre noch OK, hat ja fast jeder) oder spezielle Programierkenntnisse hat?

Mit besten Grüßen,
ponca

nach obennach unten

Zwei csv-Dateien vereinigen

Die folgende Nachricht zum Thema stammt von: Kalle_B, 01. 06. 2008, 11:46

Hallo

»» Ich soll fortan regelmäßig Daten aus einer Datenbank in die einer anderen einpflegen.

»» Die Daten aus „Datei1.csv“ sollen in „Datei2.csv“ eingelesen werden,

Bitte werde dir erstmal klar, was deine Aufgabe ist. Willst du auf den Datenbanken arbeiten oder dich mit zwei Textdateien vergnügen?

LG, Kalle

nach obennach unten

Zwei csv-Dateien vereinigen

Die folgende Nachricht zum Thema stammt von: ponca, 02. 06. 2008, 18:09

»» Bitte werde dir erstmal klar, was deine Aufgabe ist. Willst du auf den Datenbanken arbeiten oder dich mit zwei Textdateien vergnügen?

Hallo Kalle,

ich hatte doch schon geschrieben, dass ich die Daten als csv-Dateien vorliegen habe. Ich muss also mit den Textdateien arbeiten und nicht mit den Datenbanken selbst. Das ist von daher sehr vorteilhaft, dass es sich um zwei komplett verschiedene Datenbanktypen handelt. Aber wie auch immer, ich hab nur die csvs nach obigem Beispiel. Kann mir da jemand was zu sagen?

Gruß,
ponca

nach obennach unten

Zwei csv-Dateien vereinigen

Die folgende Nachricht zum Thema stammt von: Beat, 02. 06. 2008, 18:28

»» ... Ich muss also mit den Textdateien arbeiten und nicht mit den Datenbanken selbst. Das ist von daher sehr vorteilhaft, dass es sich um zwei komplett verschiedene Datenbanktypen handelt. Aber wie auch immer, ich hab nur die csvs nach obigem Beispiel. Kann mir da jemand was zu sagen?

Die Schwierigkeit liegt darin, dass sie jeder User eigentlich diese Zusammenführung leicht bewerkstelligen können sollte.
Das beinhaltet, dass dieser User die CSVs nicht selbst analysieren muss.

Das ergibt dann eine Anwendung in drei Stufen

Voraussetzung ist ein Formular, in welchem der User die Pfade zu den zwei zu mergenden Files angibt.

Die Files werden geladen und analysiert.
Dabei werden bei jedem File die FeldTitel ermittelt.
Es wird ein Schlüsselfeld ermittelt und vorgeschlagen.

Im zweiten Schritt dann schreibt der Üser die Schlüsselfelder in eine Textarea, und zwar die gewünschten
(Java-Script Unterstützung?)

Neues File   File1       File2
KEY          Schlüssel   KEY
Nachname     Namen       Name
Vorname      Vorname     Prename
...
...

Wichtig ist dann eine Entscheidung,
Wenn der Schlüssel File1 identitisch ist zu Schlüssel File2
Priorität der Schlüssel
Neue Schlüssel Generierung.

Wenn's simpel und dirty sein darf hätt' ich das schnell mit einem Perl-Hash gemacht. Aber deine Anforderung ist es , die dir ein sauberes Prozedere mit GUI abverlangt.

Sonst sage ich nur noch Test, Test, Test...


mfg Beat
--
Selber klauen ist schöner!

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2008 Teil von Mai

© 1998-2006 Seite Impressum, Software: Classic Forum