私はpythonテンプレートモジュールを使用して以下を置き換えようとしています。テンプレートモジュールを使用してPython文字列を置き換えることができません
start_date BETWEEN DATEADD(days,-14,'${DATE_YYYY-MM-DD}') AND '${DATE_YYYY-MM-DD}'
私は値を読んで、私は首尾よく行うことができる午前辞書(config_params)にそれを保存するためのConfigParserを使用しています。それから、私は上記のテンプレートに代わる安全な代用をしていますが、何もしないようです。これは、ファイル内の他のパラメータの多くを置き換えますが、たったの$ {DATE_YYYY-MM-DD}
を交換していないようだ私が使用していたコードは以下の通りです:
with open(templateFile, 'r+') as f:
temp = Template(f.read())
resultFile = temp.safe_substitute(config_params)
これは、なぜ上の任意のヘルプ起こっている?それは好きではないのですか?
TemplateFile:
SELECT
x
,y
,z
,a
,b
INTO ${od}.${tab}
FROM
mphd.${pd} as h
WHERE
a BETWEEN DATEADD(month,-12,'${DATE_YYYY-MM-DD}') AND '${DATE_YYYY-MM- DD}'
;
コンフィグファイル:
[GeneralParams]
od = sandbox
tab = abcd
pd = hierarchy_expanded
DATE_YYYY-MM-DD = 2016-08-05
config_params:
{'od': 'sandbox', 'DATE_YYYY-MM-DD': '2016-08-05', 'pd': 'hierarchy_expanded', 'tab': 'abcd'}
結果ファイル:
SELECT
x
,y
,z
,a
,b
INTO sandbox.abcd
FROM
mphd.hierarchy_expanded as h
WHERE
a BETWEEN DATEADD(month,-12,'${DATE_YYYY-MM-DD}') AND '${DATE_YYYY-MM- DD}'
;
スクリプトを実行した後、 'templateFile'の内容、' config_params'の値、 'resultFile'の値を追加するには投稿を編集してください。 –
質問を編集しました。 – coder1416