はじめに
レポートや報告書のような長文を書く際にふと文字数を知りたくなることがあります。
ということで今回はテキストを入力したら文字数をカウント表示させるシンプルな
機能を持つアプリを作っていきたいと思います。
ちなみに完成した画面はこんな感じです ↓
結果はスペース込みと抜きの文字数を表示するようにしています。
開発環境
・Google Colaboratory
・WebフレームワークとしてStreamlitを利用する
文字数カウントアプリを作ろう
1.Google Colaboratoryを開く
2.Driveをマウントする(フォルダを操作できるようにする)
3.[countapp.py]ファイルを作成する
4.作成した[countapp.py]をダブルクリックすると画面上に表示され編集ができる
前準備
streamlitのインストール
!pip install streamlit
現在の位置を確認
!pwd
実行ファイルがあるフォルダに移動しておく(環境によってフォルダの位置は変わります)
%cd /content/drive/MyDrive/○○○○
直下に入っているファイルの確認
!ls
localtunnelを使うことで、開発中のローカルサーバーを一時的に公開することが出来る
!streamlit run countapp.py & sleep 3 && npx localtunnel --port 8501
これでアプリが起動したら準備完了です。
countapp.pyの編集
ここからは、実際にcountapp.pyの中身を編集していきます。
ライブラリのインポート
import streamlit as st
import time
タイトル名を付ける
st.title("文字数カウントアプリ")
Click時の関数
def on_click():
st.session_state.clear = ""
テキストエリアの表示
text_input = ""
text_input = st.text_area('テキストを入力してください', text_input,key="clear")
st.button("リセット", type="primary",on_click=on_click)
文字数のカウント
#スペース込み
length1 = len(text_input)
# スペース含まない
length2 = len(text_input.replace(" ", "").replace(" ", ""))
結果の出力
# ボタンを押したら3秒間出力を待つ
if st.button('start'):
with st.spinner('processiong...'):
time.sleep(3)
st.write("スペース込みの文字数")
st.write("Result:",length1)
st.write("スペース抜きの文字数")
st.write("Result:",length2)
これで完了です!ファイル保存してアプリ画面を再度実行してみましょう。
きちんと文字数カウントが出来ていれば完成です。
さいごに
今回は文字数カウントアプリを作りました。
普段の生活でちょっと疑問に思うことや便利なアイデアがあれば
アプリ開発を通して表現してみましょう!