Pythonのdatetime, zoneinfo周辺など

 Pythonの時間の扱い、何度書いても忘れてしまう。そしてタイムゾーンの変換は、python3.9以降はzoneinfoが便利と最近知る。 ...

June 12, 2024

AWS Logs InsightsをCLIまたはPython(boto3)から実行

 CloudWatch Logs Insightsのクエリを、マネジメントコンソールからではなく、AWS CLI及びPython SDK(boto3)から投げてみる。 ...

May 15, 2024

Pythonで区切り文字の最後の要素を取得

Pythonで、区切り文字の最後の要素を取得する。「要素」と言ってるのは、一旦リストにする必要があるため。 ...

February 16, 2022

Pythonの辞書・文字列変換とJSON処理

Pythonの辞書・文字列変換と、JSON処理。必須項目でしょっちゅう使うくせに覚えられない… ...

February 10, 2022

Pythonライブラリのローカルインストール方法

Pythonライブラリをローカルインストールする必要に迫られて対応した記録。実行した環境はWindowsだが、Linuxでも同様らしい。 ...

December 30, 2021

Terraformのtfvarsファイルを自動生成する

過去記事からの派生案件で、Terraformで使うtfvarsファイルについて、繰り返しデータを多数投入する想定のため、これを自動生成したいと考えた。 Terraform loop処理の超シンプルな例 Python - Jinja2テンプレートで連続データを処理したい 実際に使用するファイル群は過去記事に記載しているがこんな想定で。(もちろん実際は他にもいろいろ必要)自動生成したいのは、以下の*印をつけたcodecommit.auto.tfvarsである。(この時点では手動で値を記述したもの) work_dir/ ├── codecommit.auto.tfvars * ├── codecommit.tf ├── config.tf ├── terraform.tfvars ├── variables.tf └── vpc.tf これとは別に、tfvars自動生成作業用ディレクトリの作業前はこの状態。以下3つのファイルを用意する。codecommit.tmplはテンプレートとなる。このファイル名はスクリプトから呼び出すので名称に注意。対象のAWSリソースによって変えるが、tfファイルの名称に合わせておけばよい。 script_dir/ ├── codecommit.tmpl ├── create_vars.py └── data.csv codecommit.tmpl param{{ num }} = { repository_name = "{{ repo_name }}" description = "{{ des }}" } data.csv (今回の例ではヘッダーありの前提) num,repo_name,des 1,"my-repo001","my-repo001の説明" 2,"my-repo002","my-repo002の説明" 3,"my-repo003","my-repo003の説明" create_vars.py import sys import pandas as pd from jinja2 import Environment, FileSystemLoader def main(): # テンプレート読み込み env = Environment(loader=FileSystemLoader('....

November 28, 2021

Python - Jinja2テンプレートで連続データを処理したい

Jinja2テンプレートで連続データを処理したい。元データはCSVとかで。いや、Jinja2でなくてもいいかもしれないけど、ちょっと思いつかないな… とりあえず参考リンク。最初のリンクは、CSVをJSONに変換しているんだよな、CSVのままでやりたいんだけど。しかし例は分かりやすい。 【jinja2】テンプレートエンジンでデータの連続差し込み PythonのテンプレートエンジンJinja2を使ってみた

November 24, 2021