jinja2将字符串对齐为两列

时间:2019-04-25 18:51:08

标签: jinja2

我想为sql生成创建一个Jinja模板,并且我希望它对齐列名和数据类型以提高可读性,例如:

CREATE TABLE test_destination_table_csv (
      col1              STRING
     ,asdfg             INT
     ,somethingelse     DOUBLE
     ,datestr           TIMESTAMP
)

通常我使用编辑器中的选项卡来执行此操作,但这在我的Jinja模板中似乎不起作用。

这是我得到的:

CREATE TABLE test_destination_table_csv (
      col1          STRING
    , asdfg         INT
    , somethingelse         DOUBLE
    , datestr           TIMESTAMP
)

使用以下模板:

CREATE TABLE {{ table_name }}_csv (
 {% for col, dtype in columns %}
    {{ "," if not loop.first else " " }} {{col}}   {{ dtype }}
 {% endfor %}
)

我尝试添加以下内容:

{{ " " * max(2,(20 - len(col))) }}

但是Jinja不明白。我以为Jinja应该像其他模板语言一样支持任意的python代码?

0 个答案:

没有答案