Extrahieren Sie Daten aus einer sehr unordentlichen Textdatei in Excel

440
Gerlof Leuhof

Ich habe eine sehr unordentliche .txt-Datei mit vielen Rohdaten. Es ist eine große lange Linie, die Standortdaten ständig wiederholt:

\"Locations\":[{\"lat\":\"37.77160263061523\",\"lng\":\"-120.85061645507812\",\"city\":\"Oakdale\",\"poi\":\"\",\"pindata_id\":\"194395\"}]},{\"User\":{\"id\":\"<censored>\",\"username\":\"<censored>\"},\"Pindata\":{\"id\":\"194739\",\"date\":\"2018-05-18\",\"country\":\"US\",\"title\":\"Let's go!\"} ... und dann wiederholt es sich oft

Jetzt möchte ich ein Skript oder ein Werkzeug, das all diese Daten in Excel-Spalten und -Zellen extrahiert. Also aus den obigen Zeilen, um es so zu machen:

Latitude Longitude City Date Title 37.77160263061523 -120.85061645507812 Oakdale 2018-05-18 Let's go! etc. etc. 

Wie würde ich so etwas tun?

0
Sie können den Text mit einer Reihe von Suchvorgängen in eine CSV-Datei konvertieren und ersetzen (oder einen regulären Ausdruck) und dann in Excel öffnen cybernetic.nomad vor 5 Jahren 1
Ja, aber wie soll ich das machen? Welches Tool / Skript / Programm? Gerlof Leuhof vor 5 Jahren 0
Sie können die Funktion [Get & Transform] (https://support.office.com/de-de/article/get-transform-in-excel-881c63c6-37c5-4ca2-b616-59e18d75b4de) in Excel 2013+ verwenden Um eine JSON-Datei in eine Excel-Tabelle zu konvertieren. Siehe auch [diese Antwort] (https://superuser.com/questions/977249/loading-a-json-file-into-power-query) über den Superuser visu-l vor 5 Jahren 1

3 Antworten auf die Frage

3
Nicholas Humphrey

Dies ist das JSON-Format, und Sie sollten in der Lage sein, eine JSON-Bibliothek zu verwenden, um die Daten zu extrahieren. Ich verwende dieses für meine Arbeit:

https://github.com/VBA-tools/VBA-JSON/blob/master/JsonConverter.bas

Beachten Sie, dass in dieser Bibliothek JSON-Arrays (Inhalt zwischen [und]) als VBA analysiert werden Collection, während JSON-Objekte (zwischen ) als VBA analysiert werden Variant.

Vielen Dank für Ihre Antwort. Das Problem ist, dass ich kein Programmierer bin, also habe ich keine Ahnung, wie ich das benutzen soll :( Gerlof Leuhof vor 5 Jahren 1
1
JohnnyVegas

Ein einfaches kostenloses Tool ist verfügbar, um GPS-Dateien in Excel - GPSBabel - zu konvertieren.

https://www.gpsbabel.org/download.html

Es ist ein kostenloses Projekt, also spenden Sie etwas Geld für dieses sehr nützliche Werkzeug.

Ich glaube nicht, dass es sich um eine GPS-Datei handelt. Es wird aus einer größeren HTML-Datei extrahiert. Ich möchte auch keine Ortsspalten wie "Datum" und "Titel". Gerlof Leuhof vor 5 Jahren 1
Mit einigen Regex-Ausdrücken in sublimem Text könnten Sie in kürzester Zeit in eine CSV-Datei konvertieren JohnnyVegas vor 5 Jahren 0
1
cybernetic.nomad

Öffnen Sie die Textdatei in einem Editor mit Regex-Funktion (Emeditor, BBedit usw.) und führen Sie die folgende Regex-Suche aus:

.+lat\\":\\"(.+)\\",\\"lng\\":\\"(.+)\\",\\"city\\":\\"(.+)\\",\\"poi.+date\\":\\"(.+)\\",\\"country.+title\\":\\"(.+)\\"\} 

Und ersetzen Sie mit:

$1\t$2\t$3\t$4\t$5 

Dadurch erhalten Sie eine tabulatorgetrennte Datei, die Sie dann in Excel öffnen können (tabulatorgetrennt, da kommagetrennte Zeichen möglicherweise Probleme verursachen, wenn der Titel Kommas enthält.

Testen Sie: https://regex101.com/r/waUoNh/2

regex101.com ist dazu da, Ihren regulären Ausdruck * zu testen * und nicht einen ganzen Datensatz zu verarbeiten. Viele Texteditoren unterstützen Regex. Suchen Sie im Dialogfeld "Suchen / Ersetzen" nach "regulärer Ausdruck" oder "Regex" cybernetic.nomad vor 5 Jahren 0
Vielen Dank. Verstanden mit den Tools http://www.unit-conversion.info/texttools/add-line-breaks/ und https://www.regextester.com/97259 Gerlof Leuhof vor 5 Jahren 0