Python
■ はじめに Jinja2がベースになっている dbt を使っていて 空白行が異常にできて見づらい。 また、それが原因かは不明だが、メモリエラーも発生しており いずれにせよ、余分な空行はない方がいいので、調べてみたら、 Jinja2 には、Whitespace Control 機能…
■ はじめに Jinja2で 既存のリストから特定の文字列を除外したかったが、 https://dk521123.hatenablog.com/entry/2024/10/19/000848 で記載したように、リスト内包表記がサポート外とのことだったので、 大分ハマっていたら、フィルタのrejectでやりたいこ…
■ はじめに https://dk521123.hatenablog.com/entry/2024/10/18/001757 https://dk521123.hatenablog.com/entry/2023/11/28/235951 https://dk521123.hatenablog.com/entry/2024/09/11/003301 https://dk521123.hatenablog.com/entry/2018/09/22/142348 等で…
■ はじめに dbt で macro を修正する必要があり、 jinja2の基本的な文法事項が分かっていなかったので まとめておく。 目次 【1】基本 【2】コメント文 【3】変数 1)変数定義 2)変数参照 【4】if文 【5】for文 1)break / continue文 2)loop 【…
■ はじめに Parquet ファイルを扱うことになり、テストデータを作りたいので Pythonであれば、Pandas でParquet を扱うのが一番楽そうなので 個別にまとめておく 目次 【1】インストール 【2】Parquet の書き出し・読み出し 1)出力・書き出し 2)入力・…
■ はじめに https://qiita.com/python_academia/items/a54a6d1dcc5a12875c88 を読んでいた際に、 Scala で気に入っている match文が、Python3.10以降から 使えるとのことので、メモっておく 目次 【1】match文 1)使用上の注意 【2】サンプル 例1:Hello…
■ はじめに dbt Core v1.7 を使っているのだが、 以下の公式ドキュメントを確認したところ、 もうすぐサポートが切れる https://docs.getdbt.com/docs/dbt-versions/core dbt Core Initial release Support level and end date v1.8 May 9 2024 Active — May…
■ はじめに Python の 実装で何度か定数を定義する必要があった。 今更ながら、改めて調べてみた。 その結果を、徐々にまとめておく。 目次 【1】Python の 定数 1)サンプル 2)使用上の注意 【2】簡易版:定数用ファイル用意して使う 【3】Readonly …
■ はじめに 小ネタ。 Python で「:=」って出てきて、 これなんだ?ってなったので、メモ。 目次 【1】ウォルラス演算子 (:=) 1)補足情報 2)何故、Walrus(セイウチ)? 【2】サンプル 1)NG: Syntax Error 2)OK: 「:=」を使った場合 【1】ウォルラ…
■ はじめに Python の 単体試験のカバレッジツールを調べてみた 目次 【1】coverage 1)インストール 2)使い方 3)VS Codeプラグイン 【2】pytest-cov 1)インストール 2)使い方 3)VS Codeプラグイン 【1】coverage * unittest の カバレッジツ…
■ はじめに https://dk521123.hatenablog.com/entry/2022/08/05/000000 では、標準モジュールのを使った urllib を使ったが 今回は、 Requestsライブラリを取り扱う。 目次 【1】Requestsライブラリ 【2】インストール 【3】サンプル 例1:Hello world …
■ はじめに https://dk521123.hatenablog.com/entry/2024/03/19/000000 で、setuptoolsを使ったが、今日、色々と不具合対応して 学んだことがあったので、メモしておく 目次 【1】setup.py の 文法 1)entry_points 【2】ヘルパー関数 find_packages() 1…
■ はじめに https://dk521123.hatenablog.com/entry/2024/03/19/000000 の続き。 今回は、Pythonのパッケージ配布において、 pyproject.tomlによる作成方法について扱う。 => ってゆーかーめちゃ簡単だった、、、 目次 【1】今回使用するパッケージ構成 1…
■ はじめに https://dk521123.hatenablog.com/entry/2020/02/09/234350 で egg / wheel ファイルを作成したが、 今回は、Pythonのパッケージ配布で、ちょっと古い方法だが setup.pyによる作成方法について扱う ちなみに、この手の話は、結構、古いやり方とか…
■ はじめに Github Workflow で CI/CD を実装中だが、 PythonのLinter/Formatter についても実装してみようと思う。 PythonのLinter/Formatter については、過去、以下の関連記事で https://dk521123.hatenablog.com/entry/2021/11/08/221219 調べたことがあ…
■ はじめに 業務で、「.env」を扱うのができてきた。 このファイルを、Pythonで扱うには、 python-dotenv ってライブラリを使うので、 .envファイル(dotenv)を含めて調べてみた 目次 【1】.envファイル(dotenv) 【2】python-dotenv の インストール 【…
■ はじめに TOMLファイルを読み込み そのデータ内を使うツールが必要になりそうなので PythonでTOMLをどう扱うかを調べてみた なお、TOMLについては、以下の関連記事を参照のこと TOML https://dk521123.hatenablog.com/entry/2023/04/25/103533 目次 【1】…
■ はじめに https://dk521123.hatenablog.com/entry/2018/09/22/142348 で、Pythonのテンプレートエンジンである Jinja を取り扱ったが 今回は、Jinjaの マクロについて扱う。 目次 【1】マクロ機能 【2】構文 1)定義 2)呼び出し 【3】サンプル 例1…
■ はじめに https://dk521123.hatenablog.com/entry/2019/10/23/212149 の続き。 徐々にだが、Pythonのコメントから ドキュメント化するツールについて、まとめていく 目次 【1】Sphinx(スフィンクス) 【2】Doxygen(ドキシジェン) 【1】Sphinx(スフ…
■ はじめに https://dk521123.hatenablog.com/entry/2023/10/31/000133 https://dk521123.hatenablog.com/entry/2020/05/19/000000 等ででてきた *args, **kwargs について、 改めてちゃんと学ぶ 目次 【1】*args 【2】**kwargs 【3】使用上の注意 1)指…
■ はじめに Scalaで高階関数(こうかいかんすう)を知る機会があったが Pythonでもfunctoolsモジュールで扱えるとのことなので メモってみた。 目次 【1】高階関数 (Higher-Order Functions) 【2】functools 【3】cache 1)@cache 2)@cached_property …
■ はじめに Python で Snowflake の 非同期クエリを実行することになったので これを機にPython用Snowflakeコネクタを学んでみる 目次 【1】Python用Snowflakeコネクタ 【2】環境設定 【3】同期クエリ実行 1)サンプル 2)関連するAPI 【4】非同期クエ…
■ はじめに https://dk521123.hatenablog.com/entry/2023/10/22/220717 でKafka / Kafka connect を設定したので 簡易的に、kafka-python を使って、Hello worldをやってみる 目次 【1】前提条件 【2】環境設定 【3】ドキュメント 【4】サンプル 例1:P…
■ はじめに https://dk521123.hatenablog.com/entry/2019/10/12/075251 からの分冊。 文字列操作について、メモ。 目次 【1】置換 / 除去 1)replace 2)removeprefix / removesuffix (From Python3.9) 【2】分割 1)split 2)rsplit 【3】連結 1)j…
■ はじめに https://dk521123.hatenablog.com/entry/2020/03/01/000000 https://dk521123.hatenablog.com/entry/2023/09/16/151516 の続き。 今回は、Python / Matplotlib (マット・プロット・リブ)で、 折れ線グラフを表示させる 目次 【1】折れ線 例1…
■ はじめに https://dk521123.hatenablog.com/entry/2020/03/01/000000 の続き。 今回は、Python / Matplotlib (マット・プロット・リブ)で、 棒グラフや積み上げ棒グラフを表示させる 目次 【1】棒グラフ 例1:Hello World 例2:複数の棒グラフを横に…
■ はじめに https://dk521123.hatenablog.com/entry/2020/03/01/000000 の続き。 今回は、Matplotlib に関するTipsを纏める 目次 【1】見た目を変える 1)インストール 2)導入例 【2】色を変える 【3】画像ファイルとして保存 【4】注釈/矢印 でグラ…
■ はじめに テーブル内のデータをアンロードして テストデータを作るって作業をしていて 大分、久しぶりに、 Snowflakeスクリプトを書いたのだが 仕様とか色々大幅にかかりそうな予感を感じているので Pythonコード化して対応しておく 【1】前提条件 * スト…
■ はじめに 前々からやろうと思っていたPythonのPDF化について 纏めてみる。 (半自動的にドキュメントを作れるようにしておくために) 目次 【1】PythonでのPDF化 【2】インストール 【3】API仕様 1)cell 2)image 【4】サンプル 例1:Hello World …
■ はじめに Python の 画像処理ライブラリである Pillow について 徐々にまとめていく。 目次 【1】Pillow 【2】インストール 1)トラブル 【1】Pillow * Python の 画像処理ライブラリ cf. Pillow (ピロー) = まくら? 【2】インストール pip install …