管理人Kのひとりごと

デジモノレビューやプログラミングや写真など

Python

SPEEDTEST CLIの実行結果を加工して表示するワンライナー

通信速度を測定する際に使うSpeedtest.netですが、CLIがあります。 そのCLIの出力結果を加工して表示するワンライナーを書きました。 検証環境 hoge@localhost$ python3 -V Python 3.9.18 hoge@localhost$ speedtest -V Speedtest by Ookla 1.2.0.84 (ea6b67…

urllibを使ってインスタンスメタデータにアクセスする

Python標準モジュールのurllibを使う練習で、EC2のインスタンスメタデータにアクセスしてみました。 検証環境 ソース 文字列で返ってくるケース JSONで返ってくるケース 実行結果 文字列で返ってくるケース JSONで返ってくるケース 参考にしました

docker-composeでPythonを起動したらすぐ終わってしまった(tty: trueが必要)

docker-composeでPythonを起動したらすぐ終わってしまったので対処したメモです。 確認環境 対処方法 docker-compose.ymlの例 参考にしました

バインドマウントの設定を確認する(docker)

dockerでバインドマウントの設定を確認するコマンドです。 確認環境 コマンド 実行例 参考にしました

Git Bashでdockerを実行する場合には「winpty」を付ける

Git BashでWindowsにインストールしたdockerを実行する場合には「winpty docker ...」と入力するというメモです。 確認環境 起こった事象と対処 winptyとは?その役目は? winptyを付けた結果/付けない結果

os.path.join()では'/'が入ったパスを連結するときに注意

Pythonでパスを連結する際には、os.path.join()を使うと思うのですが、'/'から始まるパスを連結する場合は注意が必要だった、というメモです。 確認環境 そもそもos.path.join()とは どういう条件ならば「それまでのコンポーネントはすべて捨てられ」になる…

pysparkでFitbitの睡眠JSONをパースして平日と休日の平均睡眠時間を求めてみた

pysparkでFitbitの歩数JSONをパースして、平日と休日の平均歩数を求めてみました。↓PySparkで歩数JSONを平日・休日別に集計 ↓Pythonでの睡眠時間比較 確認環境 コード 実行結果例 2019年、2020年の月別、平日・休日別平均睡眠時間 参考にしました

DockerでPySparkとJupyterNotebook環境を利用する

PySparkとJupyterNotebookが使えるDockerコンテナがあったので使ってみました。すぐに使い始めることができるので、Dockerのありがたみを感じます。 EMRを使う前にスクリプトの動確できる環境が欲しかったので助かっています。 確認環境 コマンド (おまけ) P…

pysparkでFitbitの歩数JSONをパースして平日と休日の平均歩数を求めてみた

pysparkでFitbitの歩数JSONをパースして、平日と休日の平均歩数を求めてみました。pysparkでの歩数JSONのパース↓ pythonでの歩数比較↓ www.k-hitorigoto.online 確認環境 コード 実行結果例 2019年、2020年の月別、平日・休日別平均歩数 参考にしました

pysparkでFitbitの歩数JSONをパースする

pysparkでFitbitの歩数JSONをパースしました。JSONモジュールとは勝手が違ってちょっと迷いました。歩数JSONの取得とJSONモジュールでのパース↓ 確認環境 コード 実行結果 参考にしました

boto2で「.」(ピリオド)が含まれるS3バケットを扱ったときにエラーが出た(boto3は出なかった)

boto2とboto3でバケット名に「.」(ピリオド)が含まれる場合の挙動が違ったので記録しておきます。 確認環境 やりたかったこと boto2,boto3と、バケット名に"."(ピリオド)がある、なしでの成否 boto2のソースとエラーメッセージ (ちなみに)boto3のソース こ…

Fitbit APIを叩いて2019年と2020年の睡眠時間を比べてみた

昨日やったFitbitAPI叩こうシリーズ第2弾。睡眠時間編です。 www.k-hitorigoto.online 確認環境 睡眠時間JSONの取得 JSON→CSVに変換 Excelでグラフ描画 参考にしました

Fitbit APIを叩いて2019年と2020年の歩数を比べてみた

2020年はコロナで在宅勤務中心となり、歩くことが減りましたね。 常に身に着けているFitbitのデータを使って2019年と2020年の歩数を比べてみました。 確認環境 歩数JSONの取得 JSON→CSVに変換 Excelでグラフ描画 参考にしました

EMRのSparkやHiveでサブクエリが使えるか試してみた_その2

EMRのSparkやHiveでサブクエリが使えるか試してみたメモ。その2。前回、Hiveでは一部のサブクエリが実行できなかった。今回は、Existを利用したサブクエリが使えるかを確かめたメモ。 メタデータカタログはGlueデータカタログを使用。 確認環境 元ネタ 実行…

EMRのSparkやHiveでサブクエリが使えるか試してみた

EMRのSparkやHiveでサブクエリが使えるか試してみたメモ。 メタデータカタログはGlueデータカタログを使用。GlueのVPCエンドポイントを使ったところ、インターネットに出ずにデータカタログが参照できたのが意外だった。そちらの話はまた別途メモ予定。 確認…

2か月前の日付を求めたい(Python)

Pythonで2か月前の日付を求める方法。 確認環境 ソース 実行例

pythonでparquet→CSVに変換

pythonでparquetからcsvへ変換したかったのでやってみたメモ 実行環境 コード 実行例

いろんな言語で「else if」

「else if」って何気に言語ごとに違いありません?(elsifとか、elifとか、else ifとか) 個人的によく使う言語について改めて整理しました。その2↓ Java(else if) Python(elif) Perl(elsif)

Lamda Layerに自作のPythonモジュールを登録して使いたい

LamdaのLayerはモジュールを共有できて便利ですよね。 そんなLayerに自作のPythonモジュールを登録して使いたかったのでメモ。 確認環境 自作モジュールをLayerに登録するために必要なこと 参考URL

リスト、辞書の使い方備忘(python)

リスト、辞書の使い方の備忘 確認環境 リスト リストの宣言 リストの長さを取得 リストの要素へのアクセス(0オリジン) リストへ要素の追加(末尾に追加) リストの要素の変更 リストの要素の削除 辞書 辞書の宣言 辞書の長さ 辞書へのアクセス キーの存否確認 …

virtualenv+virtualenvwrapperの使い方(python)

virtualenv+virtualenvwrapperの使い方をたまに触ると忘れるので備忘 確認環境 virtualenv+virtualenvwrapperの使い方 仮想環境の作成 利用するpythonを指定して仮想環境を作成する 仮想環境の一覧表示 仮想環境の切り替え 仮想環境から抜ける 各仮想環境に…

pysparkでリテラル列を追加(pyspark)

pysparkでリテラル列を追加したかったのでメモ。 確認環境 コード 実行結果 参考にしました

ファイルの内容を基にリストを作成する(python)

ファイルの内容(要素 × 個数)を基にリストを作りたかったのでpythonを使って書いたメモ。 確認環境 入力ファイルの内容 コード 実行例 参考にしました

AWSのサポート費用を計算する(python)

AWSのサポートプランの一部(ビジネス、エンタープライズ)では、月の利用料金に応じて段階的にサポート費用が変動します。利用料金に応じたサポート費用を試算するため、pythonでスクリプトを書いてみました。 サポート費用の求め方(ビジネス) pythonでの計算…

jsonを整形して表示したい(python)

jsonを手軽に整形表示したかったのでメモ。 pythonのjson.toolモジュールを使えば、jsonを整形して表示可能。 (json.toolはpython2.6以降標準モジュールだそうです) 確認環境 どうすればよいのか json.toolが入っていることを確認するには 参考にしました

IIJmioSIMの電話番号毎の直近3日間のクーポンOFF通信量を取得する(python)

タイトル長いですが、やりたかったことなので... IIJmioクーポンスイッチAPIであれこれやるシリーズ☟ 直近3日間のクーポンOFF通信量が366MBを超えると、通信制限がかかるらしいので、それをプッシュ通知させるために作りました。 方針 コード 実行結果

SlackのIncoming WebhookへPythonで投稿する

前回☟の続き 算出した値を何らかの形でプッシュ通知したかったので、最近興味を持ったSlackの勉強を兼ね、Slackへ投稿してみることにしました。 Slackへ投稿する手段はいくつかあるそうなのですが、Incoming Webhookが楽そうなので、それを利用することに。 …

IIJmioクーポンスイッチAPIで取得したJSONをパースして加工する(python)

IIJmioクーポンAPIをたたいて取得したJSONをパースして、日毎に利用可能なクーポンMB数を取得してみようと思います。IIJMioクーポンAPI準備編☟ 方針 ソース 実行例 次回以降やりたいこと

pythonで1こ飛ばしのfor文てどうやるの...(python)

pythonで、1から10まで、みたいな繰り返しをどうやるかわからなかったので記録する。 以下のケースで迷ったため。 4. その他の制御フローツール — Python 2.7.18 ドキュメント #!/usr/bin/python # -*- coding:utf8 -*- # range([始めの数,]繰り返しの数[,増…

PythonでSeleniumを使ってWebページ内のテーブルの内容を取得する

Webページを取得して操作する方法に、Seleniumというのがあるのを最近知りました。 Selenium テーブルが使われたWebページから内容を取得したかったので、その方法を調べました。 Seleniumはいろんな言語からアクセスすることが出来るようですが、今回はPyth…