万事屋ゆきさん

薬剤師をやっています。薬剤師の業務では、いろいろな計算を行います。ただ…それが少し面倒…

万事屋ゆきさん

薬剤師をやっています。薬剤師の業務では、いろいろな計算を行います。ただ…それが少し面倒で、ラクしたい!ってことでプログラミングを始めました。備忘録としてまとめています。コードは洗練されていないですが、そこは大目に見てください。

マガジン

  • Python de Web App

    Streamlitを用いてサクッとwebアプリを作成する方法をまとめました!

  • Pandas基本的な使い方

    これまでのPandasについての投稿をまとめました。クイックガイドとして活用できます!

最近の記事

SQLite データベース活用③ DB操作のあれこれ

ここ2カ月ぐらい書いてきたSQLiteについて(取り敢えずの)最終回です。話の流れ的に入れられなかった(忘れていたのもありますが…)ものを覚え書き程度に書いていきます。 DB内に存在するテーブルを確認昔作ったdbが何者か分からなくなる時があります(笑)そんな時、どんなテーブルが含まれているか確認するためのコードです。 サンプルのdbとして、これまでの投稿で使用してきた'side_effects.db'を使用しています。 import sqlite3db = sqlite3

    • データベース検索ができる簡易デスクトップアプリ作成【完成版】

      設計図前回投稿でwhile文を使用して、main()に記述した処理をループする方法について紹介しました。 基本はこの形で、main()の中身を中心に変えていきます。条件は以下の通りです。 これまでの投稿で、JADERのデータベースを用いて医薬品名から検索するパターンと副作用から検索するパターンの2種類を作成したのでモード選択を追加 モード選択時に指定した文字以外を入力してしまった時の処理を追加 医薬品にしても副作用にしても日本語入力をするので、条件分岐の際に全角入力

      • データベース検索ができる簡易デスクトップアプリ作成【whileループ】

        SQLite3を使用して医薬品副作用データベース(JADER)からデータを取得し、医薬品名もしくは副作用から検索し集計するpythonファイルを作成しました。せっかく作ったので、使い倒したいですよね。なので、簡単に実行できるようにbatファイルの作成をしていきたいと思います。 batファイル作成batファイルの作成は以前の投稿でも紹介しており、作成時のポイント等はそちらでご確認ください。 前回の投稿で作成した「side_effects.py」を実行するためのbatファイル

        • 医薬品副作用データベース③

          前回の続きで、医薬品副作用データベース(JADER)から取得可能なデータを利用し、必要な情報を取り出すデータベースを作成します。 副作用(有害事象)から検索前回は医薬品名(一般名 or 販売名)から検索するコードを作成しましたが、今回は副作用から被疑薬として報告されている医薬品名を抽出して件数を集計しましょう。 と言っても、SQL文自体の構造は前回の医薬品名からの検索と同じで良さそうで、検索する範囲(サブクエリ内のWHERE句)や出力するカラム名(SELECT句)あたりを変

        SQLite データベース活用③ DB操作のあれこれ

        マガジン

        • Python de Web App
          8本
        • Pandas基本的な使い方
          5本

        記事

          医薬品副作用データベース②

          前回の投稿で医薬品副作用データベース(JADER)について紹介し、公開されているデータ(csvファイル)を結合してテーブルを作成しました。今回はそのテーブルから、必要な情報を抽出していきます。 医薬品名から検索(副作用報告件数)side_effects.dbの中には、副作用報告の各種情報を結合したjoin_tableが含まれています。 import sqlite3import pandas as pddb = sqlite3.connect('side_effects.d

          医薬品副作用データベース②

          医薬品副作用データベース①

          ここまでの投稿でSQLite3を用いてデータベース作成・活用について書いてきました。今回からは、少し業務に活用できそうなテーマでデータベースを扱ってみたいと思います。 医薬品副作用データベースの利用医療関係者には、医薬品の使用による副作用と疑われる症例をPMDA(医薬品医療機器総合機構)へ報告する義務があります。報告された症例は、評価され安全対策の実施へと活用されています。 この集積された症例は、医薬品副作用データベースとしてPMDAより公開されています(Japanese

          医薬品副作用データベース①

          SQLite データベース活用② リレーション

          マスタテーブルデータベースは複数のテーブルで構成されていることがほとんどで、その中にマスタテーブルが含まれます。 マスタテーブルとは、特定のカテゴリやデータに関する基本情報を持つテーブルを指します。マスタテーブルには、以下のようなメリットがあります。 データの一貫性: マスタを利用することで、同じデータを複数の場所で使用しても、一箇所で管理することが可能になります。 データの保守性: データを更新する際、マスタテーブルの情報を一度変更するだけで、参照している他のテーブルに

          SQLite データベース活用② リレーション

          SQLite データベース活用①

          これまでの投稿でデータベース操作の基本"CRUD"についてまとめました。ここからは、作成したデータベースを活用する方法を紹介します。 データの抽出 WHERE(応用編)データ抽出に関しては、データベース作成②でWHERE句を紹介していますが、今回はその応用編です。今回もその時使用したdrugs.dbの中のGLP1テーブルを使用するのでデータベースを準備します。 import sqlite3db = sqlite3.connect('drugs.db')cur = db.c

          SQLite データベース活用①

          SQLite データベース編集

          今回はデータベースの編集についてです。CRUDでいうところのUpdate(更新)とDelete(削除)の部分です。CRUDについては前回の投稿を参照してください。 テーブルの確認・データの準備前回、前々回の投稿で作成したdrugs.dbを引き続き使用します。 import sqlite3db = sqlite3.connect("drugs.db")cur = db.cursor() drugs.dbにはこれまで作成したテーブルが含まれます。以下のコードで確認することが

          SQLite データベース編集

          SQLite データベース作成②

          前回はデータベースにテーブルを作成し、1つずつデータを入力する方法を紹介しました。今回はより実践的にExcelデータをデータベースに書き込む方法をご紹介します。 データの準備データベース 前回の投稿で使用したデータベース(drugs.db)にExcel上にあるデータを書き込みます。 import sqlite3db = sqlite3.connect("drugs.db") drugs.dbが存在していれば、以下の操作でdrugs.dbにデータが書き込まれます。もし存

          SQLite データベース作成②

          SQLite データベース作成①

          データベースとは?概要 データベースとは、データを効率的に保存・管理し、検索できるようにするためのシステムです。データベースにはテーブル(表)の形式でデータが格納され、各テーブルには行(レコード)と列(フィールド)が含まれます。 データベース管理システム(DBMS:Database Management System)は、データベースを作成、操作、管理するためのソフトウェアです。代表的なDBMSには、MySQL、PostgreSQL、Oracle、SQLiteなどがあり

          SQLite データベース作成①

          Webアプリのデプロイ③

          いよいよwebアプリ公開への最終段階です。 StreamlitへのサインインデプロイはStreamlitのwebページ上で行います。 右上の「Sign in」をクリックすると下図のような画面に遷移します。前回の作成したGitHubのアカウントで入ることができます。 Create appサインインするとダッシュボード画面が表示されます。右上の「Create app」をクリックし、新規アプリの設定をします。 前回の投稿で、GitHubに「sampleApp」というリポジト

          Webアプリのデプロイ③

          Webアプリのデプロイ②

          前回の投稿で示したデプロイまでの流れ(以下)の続きで、今回はGitHubについてです。 webアプリ素材(メインのpythonプログラム、使用するデータ(ExcelやDB)、requirements.txtなど)の作成 GitHubのリモートリポジトリへ1で作成した素材を保存 Streamlit Community Cloudにデプロイ GitHubとは?GitHubとは、ソフトウェア開発プロジェクトのバージョン管理やファイル共有するためのプラットフォームです。 本職

          Webアプリのデプロイ②

          Webアプリのデプロイ①

          これまでStreamlitを使用してwebアプリの"中身"の作成方法を紹介してきましたが、ここからは実際に公開(デプロイ)してweb上で使用できるようにするための流れを紹介していきます。 デプロイまでの大まかな流れwebアプリ素材(メインのpythonプログラム、使用するデータ(ExcelやDB)、requirements.txtなど)の作成 GitHubのリモートリポジトリへ1で作成した素材を保存 Streamlit Community Cloudにデプロイ req

          Webアプリのデプロイ①

          Webアプリ作成 -Streamlit⑤-

          今回はDataFrameやグラフの表示についてです。 DataFrameの表示DataFrameをそのままwebアプリ上に表示させることができます。やり方は簡単で、st.dataframe()で表示させることができます。 例として、Altairの解説で使用したdfを使用します。元データのcsvファイルは、同じディレクトリに保存してファイル名(相対パス)で読み込んでいます。 下記コードをpyファイルとして保存し(ここではsample.py)、ターミナルで「streamlit

          Webアプリ作成 -Streamlit⑤-

          Webアプリ作成 -Streamlit④-

          今回は入力ウィジェットについてです。 数字の入力number_input() 数字を入力するためのウィジェットです。 st.number_input(label, min_value=None, max_value=None, value="min", step=None) label: ラベル min_value/max_value: 最小値/最大値 value: 初期値(整数、小数)を設定できます。"min"(デフォルト)とするとmin_valueで設定した値が

          Webアプリ作成 -Streamlit④-