Преобразование плохо структурированных данных в объект json - PullRequest
0 голосов
/ 20 марта 2019

Каков наилучший подход к преобразованию PDF-файла с неструктурированными данными в объект JSON?Какой набор инструментов вы бы использовали для анализа этих данных?

Конечно, я могу конвертировать pdf в формат csv, и я готов это сделать, если это будет проще.Я только пытаюсь обработать 3 разных документа, и я не возражаю выполнять некоторые работы вручную.Я предпочитаю использовать java, но я также знаю немного javascript и немного python.

Моя конечная цель - использовать объекты json для заполнения базы данных mongodb и, возможно, индексаasticSearch.

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

Документ, который я хочу проанализировать:

http://akccompanioneventresults.com/?moid=351

enter image description here Я бы хотел, чтобы результирующий объект json был похожэто:

{
"dogName" : "My Dolly Two Spots",
"armbandNumber" : 110,
"handler" : "Nancy Muller",
"breed" : "Papillon",
"round" : "Top 20",
"event" : "2019 AKC National Obedience Championship",
"date" : "2019-03-17",
"rings" :
    [
        {
            "ringNumber" : "1",
            "exercises" :
            [
                {
                    "exerciseName" : "DJ",
                    "judge" : "J Stephens",
                    "score" : 0.5
                }
                {
                    "exerciseName" : "DJ",
                    "judge" : "L Hause",
                    "score" : 1.0
                }
                {
                    "exerciseName" : "DR#3",
                    "judge" : "J Stephens",
                    "score" : 0.5
                }
                {
                    "exerciseName" : "DR#3",
                    "judge" : "L Hause",
                    "score" : 1.0
                }
                {
                    "exerciseName" : "Misc",
                    "judge" : "J Stephens",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "Misc",
                    "judge" : "L Hause",
                    "score" : 1.0
                }
            ] 
        }
        {
            "ringNumber" : "2",
            "exercises" :
            [
                {
                    "exerciseName" : "CD",
                    "judge" : "R Withers",
                    "score" : 1.0
                }
                {
                    "exerciseName" : "CD",
                    "judge" : "V Kinion",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "ROF",
                    "judge" : "R Withers",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "ROF",
                    "judge" : "V Kinion",
                    "score" : 0.0
                }

                {
                    "exerciseName" : "Misc",
                    "judge" : "R Withers",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "Misc",
                    "judge" : "V Kinion",
                    "score" : 0.0
                }
            ] 
        }
        {
            "ringNumber" : "7",
            "exercises" :
            [
                {
                    "exerciseName" : "RHJ",
                    "judge" : "C Wray",
                    "score" : 0.5
                }
                {
                    "exerciseName" : "RHJ",
                    "judge" : "J Nocilly",
                    "score" : 0.5
                }
                {
                    "exerciseName" : "HF-8",
                    "judge" : "C Wray",
                    "score" : 2.0
                }
                {
                    "exerciseName" : "HF-8",
                    "judge" : "J Nocilly",
                    "score" : 1.5
                }

                {
                    "exerciseName" : "Misc",
                    "judge" : "C Wray",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "Misc",
                    "judge" : "J Nocilly",
                    "score" : 0.0
                }
            ] 
        }
        {
            "ringNumber" : "8",
            "exercises" :
            [
                {
                    "exerciseName" : "DR",
                    "judge" : "B Lee",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "DR",
                    "judge" : "J Caputa",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "SE",
                    "judge" : "B Lee",
                    "score" : 2.0
                }
                {
                    "exerciseName" : "SE",
                    "judge" : "J Caputa",
                    "score" : 2.0
                }

                {
                    "exerciseName" : "Misc",
                    "judge" : "B Lee",
                    "score" : 0.0
                }
                {
                    "exerciseName" : "Misc",
                    "judge" : "J Caputa",
                    "score" : 0.0
                }
            ] 
        }
    ]

} ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...