У меня очень грязный .txt файл с большим количеством необработанных данных. Это одна большая длинная линия, постоянно повторяющая данные о местоположении:

\"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!\"} ... а потом это повторяется много раз

Теперь мне нужен скрипт или инструмент, который извлекает все эти данные в столбцы и ячейки Excel. Итак, из приведенных выше строк, чтобы сделать это так:

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

Как бы я сделал что-то подобное?

3 ответа3

3

Это формат JSON, и вы должны иметь возможность использовать библиотеку JSON для извлечения данных. Я использую это для моей работы:

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

Обратите внимание, что в этой библиотеке массивы JSON (содержимое между [и]) анализируются как VBA Collection , а объекты JSON (между {и}) - как VBA Variant .

1

Простой бесплатный инструмент для преобразования файлов данных GPS в Excel - GPSBabel.

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

Это бесплатный проект, поэтому пожертвуйте средства на этот очень полезный инструмент.

1

Откройте текстовый файл в редакторе с возможностью регулярных выражений (Emeditor, BBedit и т.д.), Затем выполните следующий поиск регулярных выражений:

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

И заменить на:

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

Это даст вам файл с разделителями табуляции, который вы затем сможете открыть в Excel (табуляция с разделителями запятыми может привести к проблемам, если заголовок содержит запятые.

Тест: https://regex101.com/r/waUoNh/2

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .