Ich muss eine Textdatei mit dem folgenden Format analysieren und es in einen Hash konvertieren, der in JSON konvertiert wird.Wie man eine Textdatei analysiert, die mehrere Zeilen von Daten enthält und durch numerische Werte organisiert und dann zu JSON konvertiert
Die Textdatei hat folgendes Format:
HD040008000415350110XXXXXXXXXX0208XXXXXXXX0302EN0403USA0502EN0604000107014
EM04000800030010112TME001205IQ50232Blue Point Coastal Cuisine. INC.06145655th Avenue0805921010909SAN DIEGO1008Downtown1102CA1203USA
Jede Linie ist eine Gruppe von Segmenten, die mit einem Schlüsselwert-Format arbeiten. Beispielsweise würde die zweite Zeile sein:
EM
Schlüssel ist04
ist die Länge des Wertes einschließlich Leerzeichen0008
ist der Wert
es oben brechen, wäre es so aussehen EM 04 0008
. Die nächsten Segmenttasten sind numerisch und beginnen mit 00
und erhöhen sich dann bis zum Ende der Zeile, die dann von vorne beginnen würde. Ich müsste jede einzelne Zeile in einer Textdatei durchlaufen.
Ich muss in der Lage sein, dies in einen Ruby-Hash zu konvertieren, der wiederum in JSON in einer API-Antwort konvertiert werden würde.
würde das aktuelle Format sein:
EM0400080003001
Es müssten und in der sie analysiert:
{"EM" => 0008, "00" => "001"}
Könnten Sie ein paar Zeilen zur Verfügung stellen (3-4) der Textdatei und den genauen Ausgang (in json oder Hash), die Sie sehen sind für? Es ist immer noch etwas unklar, da hinter EM0400080003001 eine Menge Dinge sind (außer sie werden ignoriert). Auch unsicher, ob EM eine Ziffer sein kann oder nicht, usw. –
EM0400080003001 ist nur ein Beispiel für das Format. Die vollständige Zeichenfolge muss in einen Ruby-Hashwert zerlegt werden. –
Jede Zeile kann nur mit Buchstaben beginnen. Wie in den beiden Zeilen sind die HD und EM aber es könnte LS, GH, MN etc. sein. –