Извлечение данных из очень грязного текстового файла в Excel

351
Gerlof Leuhof

У меня очень грязный .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. 

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

0
Вы можете преобразовать текст в CSV с помощью серии поиска и замены (или регулярное выражение), а затем открыть его в Excel cybernetic.nomad 6 лет назад 1
Да, но как мне это сделать? Какой инструмент / скрипт / программа? Gerlof Leuhof 6 лет назад 0
you may use the [Get & Transform](https://support.office.com/en-us/article/get-transform-in-excel-881c63c6-37c5-4ca2-b616-59e18d75b4de) function of Excel 2013+ in order to convert a JSON file in an Excel table. See also [this answer](https://superuser.com/questions/977249/loading-a-json-file-into-power-query) on superuser visu-l 6 лет назад 1

3 ответа на вопрос

3
Nicholas Humphrey

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

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

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

Спасибо за ваш ответ. Проблема в том, что я не программист, поэтому я не знаю, как это использовать :( Gerlof Leuhof 6 лет назад 1
1
JohnnyVegas

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

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

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

I don't think it's a GPS data file though. It's extracted from a bigger HTML file. Also, I want non-location columns like 'Date' and 'Title' Gerlof Leuhof 6 лет назад 1
с некоторыми выражениями регулярных выражений в возвышенном тексте вы можете быстро преобразовать в CSV - поиск регулярных выражений в справке возвышенного JohnnyVegas 6 лет назад 0
1
cybernetic.nomad

Откройте текстовый файл в редакторе с возможностью регулярных выражений (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

regex101.com предназначен для * проверки * вашего регулярного выражения, а не для обработки всего набора данных. Многие текстовые редакторы поддерживают регулярные выражения. Ищите `регулярное выражение` или` регулярное выражение` в диалоговом окне поиска / замены cybernetic.nomad 6 лет назад 0
Благодарю. Получил его для работы с инструментами http://www.unit-conversion.info/texttools/add-line-breaks/ и https://www.regextester.com/97259 Gerlof Leuhof 6 лет назад 0

Похожие вопросы