#python #sql #parsing #format #indentation
#python #sql #синтаксический анализ #формат #отступ
Вопрос:
Общий пакет для синтаксического анализа SQL в Python sqlparse
:
pip3 install --user sqlparse
Я хочу проанализировать список create table
операторов, библиотека иногда создает новые строки, но с неправильным отступом:
import sqlparse;
print(sqlparse.format("create table (id int,foo text, bar float)", reindent=True, keyword_case="upper"));
Отступ становится все больше и больше для каждой последующей строки, из-за чего текст SQL выглядит неровным. Как указать sqlparse
правильный отступ? Пробовал reindent_aligned=True
тоже, но не работает.
Ответ №1:
Вы можете попробовать мою библиотеку SQLGlot
python -m sqlglot "create table x (id int,foo text, bar float)"
CREATE TABLE x (
"id" INT,
"foo" TEXT,
"bar" FLOAT
)