Как сгенерировать sql-запрос из точечного файла с python? - PullRequest
0 голосов
/ 25 октября 2019

Из file.dot мне нужно сгенерировать sql запрос для вставки в database.table

Это выдержка из file.dot

digraph {
    "source.table1" -> "db.dep1"[label="CHEC_DATE"];
    "source.table2" -> "db.dep2"[label="CHECK_MAX_DATE"];
    "db.dep2" -> "source.table3"[label="CHECK_DATE"];
    "source.table2" -> "db.table4"[label="CHECK_MAX_DATE"];
 }

Мне нужно сгенерировать запрос как

INSERT INTO dep_table (entity_name_1, entity_name_2, flag_dep) VALUES ('source.table1', 'db.dep1', 'CHECK_DATE');



INSERT INTO dep_table (entity_name_1, entity_name_2, flag_dep) VALUES ('source.table2', 'db.dep2', 'CHECK_MAX_DATE');

И так далее

Я использую Graphviz для чтения данных из файла file.dot

import sys
from os import path, access, R_OK
import networkx as nx
from networkx.drawing import nx_agraph
import os
from graphviz import Source
file = open('file.dot', 'r')
text=file.read()

1 Ответ

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

То есть каждая строка из файла .dot делает запрос sql? а значения, которые нужно вставить, заключены в двойные кавычки? если это так, вы можете использовать регулярные выражения, чтобы найти все строки между двойными кавычками, а затем сделать команду sql следующим образом:

import re
for line in text :
    values = re.findall('".+"',line)
    sql_command = 'INSERT INTO X VAlUES' + '(' +values[0] + ',' values[1]  #and so on
...