Python参考記事

Python活用の様々な事例

PythonでYahoo Financeから株価データを取得しSQLiteデータベースに保存する方法
https://snowsystem.net/%e6%9c%aa%e5%88%86%e9%a1%9e/python-stock-data-yahoo-finance/

Pythonでe-Stat APIを使う
https://qiita.com/faux/items/efc4c8981510b78dd560
総務省eStatでは、政府統計を公開している。

公的統計APIからデータ取得するPythonのライブラリを作りました
https://zenn.dev/welliving/articles/924f79be5a4446
PyConJP2022
https://github.com/well-living/PyConJP2022

ライブラリのGitHubリポジトリ
https://github.com/well-living/jpy-datareader
pycon.jp
https://2022.pycon.jp/
https://speakerdeck.com/welliving/pythondegong-de-tong-ji-apinoopundetahuo-yong-pyconjp2022

Pythonでオープンデータを活用する(盗難推測編).ipynb
https://github.com/kenji7157/nagano_zitensyatounan_data/blob/master/Python%E3%81%A7%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%B4%BB%E7%94%A8%E3%81%99%E3%82%8B%EF%BC%88%E7%9B%97%E9%9B%A3%E6%8E%A8%E6%B8%AC%E7%B7%A8%EF%BC%89.ipynb

公開されたcsvをGithub ActionでスクレイピングしてGithub Pagesで公開する
https://qiita.com/iori_ama/items/6cc8f4162b52387e4a46

リアルタイム列車遅延マップ
https://github.com/EsriJapan/tokyochallenge

GIS初中級者のためのPython入門
https://gis-oer.github.io/gitbook/book/materials/python/

人流データでみる東京
https://qiita.com/daishin0413/items/5368124f937d445520b1

オープンデータカタログをポーリングして変換したり蓄積したり通知したりする仕掛け
https://qiita.com/w2or3w/items/ead142d80b8c424a17be
Lambdaで定期実行する
  ↓
Lambdaの関数コード(Python)はこちらのリポジトリで公開しています。

https://github.com/ww2or3ww/covid19_shizuoka-opendata_notifier

各種開発のヒント

Djangoチュートリアル – 汎用業務Webアプリを最速で作る

画面デザインの変更

このアプリケーションはCSSフレームワークにBootStrap4を利用しています。BootStrap4のクラスやウィジェットを使えば容易に見た目の変更ができます。

CDNのBootstrap Themeなら、Bootstrapのcss読込のあとに1行追加するだけで全体のテーマを変更できます。

入力フォームは「django-crispy-forms」というライブラリを利用しています。このライブラリはモデル定義に合わせて自動的に入力フォームを作ってくれる優れものですが、入力項目の見出しをオフにしたり複数項目をインライン表示するような自由なレイアウトには向いていません。

自由にフォームを作りたいときは「django-bootstrap4」を使ってください。こちらなら入力フィールド毎の細かいコントロールが容易です。

処理内容の変更

データの処理ロジックは「app/views.py」に集約しています。viewのロジックは「クラスベースドビュー」という組み込みクラスを利用しています。

  • データの表示順を変えたい
  • 1ページの表示件数を変えたい

という場合はここのパラメータの変更で可能です。自分で作ったモジュールを組み込みたい場合は、アプリケーションにモジュールを追加したうえでviews.pyの該当ビュー内で呼び出してください

ヘッダー・明細形式の入力フォームを作る

Djangoには複数データを同時入力するための「inline-formsets」クラスがあります。このクラスを使うと、注文書や売上伝票などのヘッダー・明細クラスのあるフォームを扱うことができます。

画像・添付ファイルを扱う

Djangoでは画像ファイル・添付ファイルを扱う専用フィールドが用意されています。このフィールドを使えば、画像データベースのようなアプリケーションも簡単に作成することができます。

グラフを表示する

Djangoでは「django-rest-Framework」というライブラリを使ってrest形式のWebAPIを作ることができます。WebAPIを作れば、「Chart.js」「Highcharts.js」といったライブラリを使って簡単にページ内にグラフを表示することができます。

メール通知・Slack通知

データの更新時にメールやSlackで変更内容を通知するといった機能を作ることができます。

印刷する

HTMLで帳票を作成し印刷機能を作る方法です。今のブラウザなら複雑なPDFモジュールを使わなくとも正確な印刷が可能です。

紙の帳票からHTML帳票を作る方法