Ich mache eine einmalige Import-Routine von einem System zum anderen. Der erste Schritt besteht darin, viele Daten aus vielen CSV-Dateien zu importieren. Die erste Zeile in jeder CSV-Datei ist Feldnamen getrennt. Der Rest ist die Daten, auch Tab getrennt und Zeilen sind mit einem CR getrennt.Finde den Feldtyp basierend auf den Daten
Ich habe eine 20-Liner-Routine geschrieben, die die Tabellen erstellt und die Daten in eine SQL-Datenbank einliest. Ich setze alle Felder, die nur numerische Daten enthalten, und habe "ID" in seinem Feldnamen als INT und den Rest als NVARCHAR (255).
Jetzt möchte ich es verfeinern, so dass es die Daten untersucht und versuchen, herauszufinden, welche Art von Daten es in jeder Spalte enthält. Es gibt Zeit, Daten, ID-Felder, Textfelder und numerische Felder.
Ich weiß, wie man das macht, es ist ziemlich einfach, aber ich möchte wissen, ob es einige Arbeit in diesem Bereich getan hat und ob es einige Klassen gibt, die das da draußen behandeln.
Herausfinden der bevorzugten Größe ist schwieriger. Ich denke, ich muss 1. Durch alle Zeilen schauen und finden Sie die längsten Daten für jede Spalte. 2. Haben Sie eine Nachschlagetabelle, wo ich z. B. Länge 0-50 zu 100, Länge 51-255 zu 255 und so weiter zuordnen.
Jeder hat eine kluge Eingabe dazu? Wie gesagt, es ist nichts besonders schwer zu machen, aber es wäre nett, daraus eine intelligente Bibliothek zu machen, die später in anderen Import-Szenarien verwendet wird.