Как работать с DDL в Python - PullRequest
       7

Как работать с DDL в Python

0 голосов
/ 10 октября 2019

Я работаю над сбором различных словарей данных из разных систем. Поскольку многие из этих систем являются старыми унаследованными системами, получить простой словарь данных из некоторых нелегко. Многие из них посылают мне SQL DDL, и это здорово, но я пытаюсь автоматизировать процесс их разбора в какой-то фрейм данных для экспорта в Excel с использованием Python. Вот пример DDL, который я получаю (для одной таблицы):

CREATE TABLE "TEST"."TABLE"
   ("COLUMN1" VARCHAR2(200),
    "COLUMN2" VARCHAR2(20), 
    "COLUMN3" DATE DEFAULT sysdate, 
    "COLUMN4" VARCHAR2(2000)
   ) ;

COMMENT ON COLUMN "TEST"."TABLE"."COLUMN1" IS 'This is the first column';
COMMENT ON COLUMN "TEST"."TABLE"."COLUMN2" IS 'This is the second column';
COMMENT ON COLUMN "TEST"."TABLE"."COLUMN3" IS 'This is the third column';
COMMENT ON COLUMN "TEST"."TABLE"."COLUMN4" IS 'This is the fourth column';

В идеале, я бы хотел экспортировать это в какой-нибудь плоский файл или в Excel в виде: TABLE | COLUMN |ТИП | КОММЕНТАРИЙ

Единственный способ, которым я могу это увидеть (не выполняя обширной работы по синтаксическому анализу), - это использовать что-то вроде pandas.read_sql для «запуска» кода SQL, а затем я могу извлечь схему изэто. К сожалению, настройки безопасности моей компании на моем компьютере не позволяют мне создать базу данных, на которую я могу ссылаться в этих типах функций.

Я чувствую, что должен быть способ сделать это легко, опять же, без тщательного разбора.

Заранее спасибо.

...