PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Projekt: Import Skript


FeuerHoden
2019-10-17, 19:48:41
Hallo,

in einem früheren Job hatten wir eine ziemlich mächtige Import Funktion für ein Kleinanzeigen-Portal. Viele Kleinanzeigen kamen täglich von zig Portalen in unterschiedlichsten Datenformaten und mussten vom Import Skript in unser Datenformat übersetzt werden. Geschrieben war das ganze in PHP, allerdings über Jahre und verschiedene Entwickler hinweg organisch gewachsen.

Ich würde nun gerne für eigene Übungszwecke ein eigenes Skript oder Programm schreiben dass mir zb. aus einem XML eine CSV Datei macht, oder ein JSON, oder ein HTML Fragment, oder ein MySQL Insert für eine DB.

Ich weiß dass es teilweise solche Konverter gibt, aber das ist nicht das was ich suche. Wenn zb. in einer Datenbank ein Feld "User" lautet und in der anderen "Benutzer" oder "Users" oder "Name", dann kann ich das mit einem Skript abfangen. Oder der Klassiker Vor- und Nachname im selben Feld und das per Skript splitten.

In meinem alten Job war es meine Aufgabe solche Transfers zu bewerkstelligen, allerdings wie erwähnt mit nicht optimalen Mitteln.

Jetzt möchte das gerne privat nachspielen
Hintergrund ist dass ich zb. verschiedene Buchhaltungsprogramme nacheinander teste die alle mehr oder weniger über eine Import/Export Funktion verfügen, aber Datenformate auswerfen die untereinander nicht kompatibel sind.
Das heißt ich habe bereits Datensätze die ich, so wie sie sind, nicht hin und her importieren kann.

Was die Sprache betrifft bin ich komplett offen. Ich kann etwas C und PHP. C++ und Python würden mich reizen. Javascript mag ich eher nicht.


Hat jemand eine Idee?


Vielen Dank
FeuerHoden

Marscel
2019-10-17, 21:35:44
Ich versteh dein Problem nicht. Du nimmst eine Sprache deiner Wahl und implementierst einfach das, was du vorhast?

XML, CSV, JSON gehören zum Standard der Libraries allermeisten aktuellen Sprachen, in akzeptablen Performancerahmen. Such dir irgendeine Skriptsprache raus - du hast doch schon was genannt oder im Job gemacht - und kombinier das in der Googlesuche mit deinem Format, und wirst ne Library oder das Kapitel aus der Doku dazu finden.

Mit ein paar billigen Tools lässt sich das unter Unix sogar mit Shellskripten mal eben machen.

Monger
2019-10-17, 21:52:27
Was du vorhast, hängt ja hochgradig von der verwendeten Technologie ab, also z.B. was für ne API deine Buchhaltungssoftware zur Verfügung stellt. Ohne Kenntnis der Technologie lassen sich da mMn kaum Tipps geben.

Solcher "Glue Code", der komplexe Programme über meist mies dokumentierte und unnötig komplexe Schnittstellen zusammen hält, ist meist die Hölle. Man spart sich höllisch viel Arbeit, wenn man dies bei der Evaluation bereits berücksichtigt, d.h.in dem Fall erst gar keine Buchhaltungssoftware nimmt, die kein transparentes Datenformat offen legt.

Glue Code sind oft dynamische Sprachen, weil das parsen von irgendwelchen Daten halt eh selten typsicher ist.

myMind
2019-10-18, 00:14:08
Was die Sprache betrifft bin ich komplett offen. Ich kann etwas C und PHP. C++ und Python würden mich reizen. Javascript mag ich eher nicht.
Wie Marscel schon sagt, Bibliotheken für die genannten Dateiformate finden sich praktisch in allen Sprachen.

Wenn es darum geht möglichst schnell zum Ziel zu kommen ist Python perfekt. Das Schweizer Taschenmesser unter den Sprachen. Als Skriptsprache auch sehr leicht anpassbar. Die Sprachschönheit ist - sagen wir mal - begrenzt. Man merkt doch sehr, dass an die Sprache immer wieder noch ein Balkon angebaut wurde. Aber aus rein pragmatischer Sicht ist Python super und auf allen Plattformen zu Hause. Perfekt Einsteigergeeignet, da man schnell Ergebnisse erzielen kann.

Wenn es darum geht Hochsprachenkenntnisse zu erwerben, finde ich persönlich C# sehr gut, sofern man mit der Windows Welt keine Berühungsängste hat. Vergleichsweise zugänglich und sehr gute Tools. Mit Java geht es eher Richtung Enterprise. Lohnt sich für deine Zwecke IMO nicht. Ist aber definitiv einen Blick wert, sobald die Windows-Welt verlassen werden soll. C++ würde ich in deinem Szenario gar nicht empfehlen. Viel zu steile Lernkurve ohne verwertbaren Benefit. Eher bei hardwarenahen Problemstellungen angezeigt.

Wenn Windows Systemverwaltung für dich ein Thema ist, würde ich noch die Powershell in die Runde werfen. Skriptsprache. Sauberer als Python. Lernkurve etwas steiler, dafür ein paar sehr mächtige Konzepte und was die Steuerung von Windows angeht konkurrenzlos. Dafür außerhalb von Windows relativ unbedeutend.

Batch oder Shellskripte würde ich mir keinesfalls antun. JavaScript wäre das letzte was mir zur genannten Problemstellung einfallen würde.

Um eine Hochsprache zu erlernen benötigt man viel Zeit. Wenn die da ist, dann ist das meiner Meinung nach der beste Weg. Häufig ist das aber nicht der Fall und dann ist eine bessere Skriptsprache eine gute Alternative.