在Python中将SQL语句解析为JSON格式?

在Python中将SQL语句解析为JSON格式?,python,sql,json,Python,Sql,Json,我需要从SQL语句中提取所有被访问的表(具有不同类型的复杂性),但我需要知道该表来自哪个令牌,例如,如果a具有以下查询: CREATE TABLE TABLE_B AS B SELECT * FROM (SELECT * FROM (SELECT * FROM table_A, table_B WHERE (SELECT * FROM table_X LEFT JOIN TABLE_C ON atrb))) WHERE (SELECT * FROM table_X LEFT JOIN TABLE

我需要从SQL语句中提取所有被访问的表(具有不同类型的复杂性),但我需要知道该表来自哪个令牌,例如,如果a具有以下查询:

CREATE TABLE TABLE_B AS B SELECT * FROM (SELECT * FROM (SELECT * FROM table_A, table_B WHERE (SELECT * FROM table_X LEFT JOIN TABLE_C ON atrb))) WHERE (SELECT * FROM table_X LEFT JOIN TABLE.C ON atrb)
我的场景的预期输出是:

['TABLE_B', 'TABLE_A']
因为我不希望在where语句中访问表

因此,我认为一个很好的替代方案是将我的sql语句解析为JSON格式,如:

{"CREATE":{'table_name':'TABLE_B', 'SELECT': {'columns': '*', 'FROM': {'SELECT':'columns':'*','FROM':['TABLE_A','TABLE_B'],'WHERE':{'SELECT': .... }}}}
对我来说,像这样的东西访问所有语句而忽略那些对我来说没有用处的语句,比如在WHERE语句中访问的表

我已经尝试过一些库,比如sql_元数据,但是它返回所有的表,我不知道它来自哪个语句


你能帮我吗?

这个软件包可以帮助你:

它不会将SQL查询转换为JSON,但它提供了一个结构,可以使用模块的解析函数访问每个语句部分


您也可以从这里开始构建JSON结构。

此软件包可以帮助您:

它不会将SQL查询转换为JSON,但它提供了一个结构,可以使用模块的解析函数访问每个语句部分

您也可以从这里开始构建JSON结构