Pythonで深いネストのlistやDictの値を調べてDecimalがあればint or floatに変換する

DynamoDB使ってるとちょくちょくあるシチュエーションかなと思う。DynamoDBはDecimalだけどjsonになおす時にDecimalあると使えないし。

こういうロジック考えると地味に頭使うと思うんだけど、ChatGPTが1秒で考えてくれました。なんか軽く死にたい。しかも結局使わなかった😂

“Pythonで深いネストのlistやDictの値を調べてDecimalがあればint or floatに変換する” の続きを読む

GKE + Flask で REST API

k8sもDockerもちゃんとやらないままに、k8s上でちょっとしたAPIサーバをたてることになった。なので、手始めにGKE上にAPIサーバを構築することにした。FirebaseでしかGCP使っていなかったので、辿々しくコンソール画面をいじっている……。

フレームワークはなんでもよかったが、Pythonを使い慣れているので、Flask + nginx を行くことにする。

“GKE + Flask で REST API” の続きを読む

boto3でS3にアップロードした画像が、ブラウザで表示するとダウンロードされてしまう時

公開用のS3のバケットにアップロードした画像を、URL直打ちで閲覧すると、いつもならブラウザに表示されるのだが、ダウンロードされてしまうケースがある。

content-typeでイメージのmimeタイプが指定されていないため。対応のメモ。

“boto3でS3にアップロードした画像が、ブラウザで表示するとダウンロードされてしまう時” の続きを読む

Pandasで2列を比較してTrue/Falseの新たな列を作る。さらに1/0へのマッピング

Pythonの便利なデータフレームのライブラリPandasを使って、2列の値を比較してTrue/Falseの新たな1列を作るやり方のメモ。また、他のシステムとの連携ではTrue/Falseじゃなくて1/0(or 0/1)が必要だったりするので、そのマッピングについても。

“Pandasで2列を比較してTrue/Falseの新たな列を作る。さらに1/0へのマッピング” の続きを読む

cronのpythonスクリプト内にあるjson.dump()でensure_ascii=Falseにして日本語出力しようとしてハマった

pythonスクリプトで、辞書をjson.dump()でファイル出力した。日本語については、オプション引数でensure_ascii=Falseとすることで出力できる。できるのだが……cronに登録して実行すると、これがうまくいかない。あれこれやってもうまくいかず、結局最後はwatchコマンドに行き着いてしまったメモ。

“cronのpythonスクリプト内にあるjson.dump()でensure_ascii=Falseにして日本語出力しようとしてハマった” の続きを読む