7839

雑草魂エンジニアブログ

Python

【Python】既存の PDF に画像を挿入する(PyPDF2 / ReportLab)

あるアプリケーション内で、Python を用いて Excel ファイルを作成し、その Excel ファイルを LibreOffice で PDF に変換していた。Excel のヘッダー/フッターには、文字・ロゴ画像を挿入していたが、LibreOffice で PDF 変換時に、なぜかヘッダーの画像だけ…

【Python】XlsxWriter を用いて整形したデータを Excel ファイルに出力する(逆引き)

先日、Python で簡単なデータ解析をして、解析した結果を Excel ファイルで出力するアプリケーションを作成した。その際に、XlsxWriter を用いて、Excel ファイルの作成・編集などを行ったので、備忘録として残しておく。 XlsxWriter とは ライブラリ逆引き …

【Python/JWT】LINE WORKS の BOT の AccessToken を取得する

今回、LINE WORKS に新しく BOT を導入することになった。BOTの用途は、通知用であり、インタラクティブである必要はない。 通常の LINE の BOT を作成したことはあったが、LINE WORKS での BOT 作成は初だったので、備忘録として残しておく。 システム概要 …

【Python/Django】logging を設定して、リモート syslog サービスにログを出力する(システム監視)

今回、Djangoのアプリケーション運用監視において、Zabbix を用いることになり、監視サーバーにアプリケーション上のエラーログなどを出力する必要があった。Python の標準モジュールである logging を用いて簡単に設定できたので紹介する。 動作環境 Python…

【Python】リスト内包表記の使い方まとめ

Python を使って、2次元配列を 1次元配列に変換したり、連想配列の要素である配列要素を抽出して 1つの配列にしたい場合に、for文を使わずに、リスト内包表記でできないんだっけ?と思ったことが、今回の記事を書くきっかけである。そこで、今回はリスト内包…

【Python】API を用いてファイルを分割アップロードする

Python(Django)のアプリケーションを開発している中で、クラウドストレージに、写真 や Excel 、PDF などのデータを API 経由でアップロードを行ったので、備忘録として残しておく。 今回データをアップロードする API では、バイナリーデータに 512KB の…

【Python】Excel を PDF に変換する(Alpine Linux + LibreOffice )

最近は、全くブログを更新できておらず、反省しなければと思っている今日この頃。お陰様で、下書きは溜まりに溜まっているので、整理しながら順次公開していきたいと思う。 今回は、Docker の Alpine Linux 上で、Excel ファイルを PDF に変換する処理を実装…

Bot と一緒にインタラクティブに学ぶ Python 入門 〜 サイコロゲーム編

前回、「GitHub Learning Lab」のPython入門コースの紹介記事を書いた。入門編はあまりに簡単な方も多かったかもしれない。「GitHub Learning Lab」には、もうひとつPythonのコース「Intermediate Python」があったので、受講してみた。 lab.github.com この…

Bot と一緒にインタラクティブに学ぶ Python 入門 〜 GitHub Learning Lab の Introduction to Python を受講してみよう

GitHub Actions を学ぶときに「GitHub Learning Lab」を使うと便利であると、カックさん @kakakakakku に教えてもらった。 その「GitHub Learning Lab」の中に「Introduction to Python」コースなるものを発見した。これから Python に挑戦したいと思ってい…

【Python】urllib.request / xml.etree.ElementTree を用いてHTTP API を利用する(Basic認証/POST/x-www-form-urlencoded/XML)

Python で HTTP API を利用する場合に、いつもの application/json ではなく、POST のコンテンツタイプが application/x-www-form-urlencoded で、response が XML で返却される API があり、標準モジュールを調べながら実装したので、備忘録として残してお…

【Python】Boto3を使ってPython でAWS S3を操作する

今回は、AWS のS3 から、必要なデータを(リネイムして)再アップロードしたいという要望があり、Python を用いて自動化したので備忘録として残しておく。 Boto3 とは 認証情報の設定方法(profile での設定) S3からファイル一覧を取得する S3から任意のフ…

【Pandas】UNIX time ⇆ Timestamp、formatなど日付操作のまとめ

Pythonでのデータ分析を効率的に行うためのライブラリ「Pandas」の日付操作で先日少しハマってしまった。自分への戒めとして、Pandasの日付操作をまとめたので、紹介する。 まず、Pandas で処理する場合だけでなく、何をプログラムするにしても、どんな「型…

【Python】CloudWatch LogsのログをPythonで自動解析する(AWS CLI)

CloudWatch Logs でログ解析をして、状態監視をするにあたり、AWS CLI でログを取得し、不具合件数の出力までを Python で自動化を行った。意外に簡単で、とても便利だったので、今回紹介する。AWS Consoleでもフィルターなどをかけることができるが、Pandas…

【Python】Flaskの本番環境構築(Flask + uWSGI + Nginx)

前回の記事で、PythonのWebアプリケーションフレームワークであるFlaskでHello Worldをローカル開発環境で確認するまでを紹介した。 serip39.hatenablog.com 今回、Raspberry Pi 3 Model B 上にWebサーバーを構築して、FlaskのWebアプリケーションを本番環境…

【Python】Flaskを用いたWebアプリケーション開発(HelloWorld)

Python の勉強を行う中で、今回はWebアプリケーションを実装した。 Pythonにも、様々なWebフレームワークが存在する。 名前 特徴 Django 多機能万能なフルスタックフレームワーク。大規模開発向け。 Flask 最小限の機能、軽量・高速なフレームワーク。 Bottl…

【ラズパイ】pySerial を用いたシリアル通信(GPIO編)

前回のシリアル通信 は、USBポートを使用していたが、今回はRaspberry Piの GPIO を用いてシリアル通信を行ったので、備忘録として残しておく。 pySerialで接続可能なポートの確認 まずは、GPIOの信号をどこのポートに送ればいいか調べるために、ポートの確…

【Python】pySerial を用いたシリアル通信(ループバック試験)

前回の記事で、Raspberry Piでの開発環境のセットアップまでを Pipenv で完了させた。そこで、最初にUSBのシリアル通信をしてみたので、備忘録として残しておく。 概要 今回は、Raspberry PiとPCなどを接続してシリアル通信をするのではなく、ループバック試…

【Python】Pipenvを用いたPython仮想環境(開発環境)

最近、やっとRaspberry Piを触ることができた。(以前から、ずっと触ってみたいと思い、つい衝動買いしてしまい、ずっと棚に閉まってしまっていた。。。)Raspberry Piで開発するにあたり、念願のPythonデビューも果たすこととした。私のようなPythonデビュ…