自動化無しに生活無し

WEBとかAIとかLinux関係をひたすら書く備忘録系ブログ

  • 【Django】sympyで計算した結果をLatex記法でHTML上に出力、mathjaxを使って数式を表示

    Pythonには高度な計算を行う事ができるライブラリが充実している。 それを、端末を問わずに利用できるようにするには、Pythonをウェブアプリとして動作させる必要がある。つまり、Djangoを使うことになる。 だが、指数や対数、平方根などを、通常の文字列だけでHTML上に表現するには限界がある。 そこで、Latexの文字列を数式として表現できるmathjaxを使うことにした。 Djangoはいつもの40 ...
  • 【matplotlib】フォントファイルを用意して日本語の豆腐化を修正する

    • 作成日時:
    • 最終更新日時:
    • Categories: others
    • Tags: Python matplotlib tips
    カレントディレクトリにNotoSansJP-Light.otfを配置する。 import matplotlib.font_manager as fm import numpy as np import matplotlib.pyplot as plt fprop = fm.FontProperties(fname='NotoSansJP-Light.otf') x = np.linspace(0, 1, 100) y = x ** 2 plt.plot(x, y) plt.title("タイトル" ,fontproperties=fprop, fontsize=40) plt.show() これで豆腐化の修正ができる ...
  • 【Django】モデルを使用したフォームクラスで、required属性を付与する

    モデルを使用したフォームクラスは、モデルの制約に依存する。 そのため、モデルの制約がゆるくても、フォームクラスで引き締めたい場合、別途対策が必要になる。 フォームクラスにrequired属性を付与する class TopicCategoryForm(forms.ModelForm): class Meta: model = Topic fields = [ "category" ] #TODO:categoryの入力を必須化させる def __init__(self, *args, **kwargs): super(TopicCategoryForm, self).__init__(*args, **kwargs) self.fields['category'].required = True コンストラクタをオーバーライドすれば良いそうだ。 参照元: https://stackoverflow.com/questions/44810064/form-required-field-in-django-model-forms ...
  • 【Pandas】DataFrameをループして取り出す【列ごと、行ごとに取り出すにはdf.items()とdf.itertuples()でOK】

    よくあるpandasの行ごと、列ごとにデータを取り出す方法。 環境 Python 3.8.10 numpy==1.23.4 pandas==1.5.1 python-dateutil==2.8.2 pytz==2022.5 six==1.16.0 列ごとにループして取り出す .iteritems()は後のバージョンで廃止される可能性があるので、列ごとのループには.items()を使う import pandas as pd data = {} data["month"] = [ str(i)+"月" for i in range(1,13) ] data["page_view"] = [ i*1000 for i in range(12) ] data["earnings"] = [ i*100 for i in range(12) ] index = [ str(i) for i in range(12) ] df = pd.DataFrame( data, index=index ) ## 列ごとにループする for column_name, item in df.items(): print(column_name) print(item) print(item["0"]) print(item["1"]) print(item["2"]) index ...
  • OGP(Open Graph Protocol)情報から動画のサムネイル等を抽出する【Python使用】

    例えば、YouTubeなどの動画のURLをTwitterに貼り付けると、自動的にリンク先の動画のサムネイルが表示される。 これはYouTubeのHTMLに含まれるOGPという情報をTwitterが抜き取り、表示しているからだ。 OGPとは HTMLのheadタグに書く、metaタグでproperty="og:image"などの情報が含まれている。 参照: https://ogp.me/ 例えば、下記動画であれば、OG ...
  • 【Python】正規表現モジュールreでパターンに一致した文字列を全て取り出す・全て置換する

    正規表現は普段から使っていないと、いざという時にどうなってたっけってなる。 だから備忘録としてまとめておく。 とりわけ、Pythonの正規表現モジュールreのメソッドはいろいろあるので、実用的な物に絞っておく。 全て取り出す 返り値はリスト型で出る。 import re target = "n1o2a3u4t5o-6n7o8li9f0e9.com" #数値を取り出す result = re.findall(r'\d', target) if result: print(result) #取り出した数値を連結する。 print("".join(result)) else: print("マッチなし") 全て置換する import re target = "n1o2a3u4t5o-6n7o8li9f0e9.com" print(target) #数値を置換す ...
  • 【Ubuntu】tesseractをインストールして、Pythonから画像の文字起こし(OCR)を試す【pytesseract】

    環境 Ubuntu 20.04 Python 3.8.10 Tesseract Open Source OCR Engine v4.1.1 with Leptonica 今回使用したPythonライブラリ packaging==21.3 Pillow==9.2.0 pyparsing==3.0.9 pytesseract==0.3.10 UbuntuへTesseractのインストール sudo apt install tesseract-ocr libtesseract-dev libleptonica-dev tesseract-ocr-jpn tesseract-ocr-jpn-vert tesseract-ocr-script-jpan tesseract-ocr-script-jpan-vert 日本語のOCRもできるように訓練済みのデータもインストールしている。 tesseract-ocr-jpn tesseract-ocr-jpn-vert tesseract-ocr-script-jpan tesseract-ocr-script-jpan-vert Tesseractの動作確認 以下画像をdjango.pngと名付けて解析してみる。 tesseract django.png output -l jpn ファイルはoutput.txtに出力される。出力結果はこうなった。 以下、流れ。 1. プロジェクトを作 ...
  • Ubuntu、WindowsにSeleniumで使用するFirefox用のgeckodriverをインストールする【Python】

    Seleniumとは? Seleniumとは、ウェブブラウザの操作を自動化するツールのひとつ。 とりわけ、Pythonライブラリとしても提供されている。(JavaやRuby用のライブラリもある。) つまり、Seleniumを使えば、Pythonでブラウザの操作を自動化できる。 必要な物は? Seleniumを使ったブラウザの自動化に必要な物は以下の4つ Pythonのコード SeleniumのPythonライブ ...
  • Ubuntuに環境変数をセットし、Pythonでosモジュールを使って読む方法【os.environ使用、crontabにも対応】

    例えば、gitで管理しているプロジェクトをgitでデプロイする時。 たとえローカルサーバーのDBのパスワードとは言え、ハードコードした状態でコミットするわけには行かない。(gitignoreに入れてしまうとパスワードが含まれない) そこで、環境変数をセットし、Python側でそれを読む。 環境変数をセットする。 #変数名=値 ZZZ=test #変数を環境変数としてセットする。 export ZZZ #↑2つは下記でも可 export ZZZ=test セットした環境変数 ...
  • WindowsでPythonをインストールする

    Pythonのインストール Pythonのインストーラーを配布しているサイト( https://www.python.org/downloads/ )へ行く。 Download Python 3.10.6 の部分をクリックする。インストーラーがDLされる。 ( ※下記画像の赤枠部分。3.10.6は2022年9月現在のバージョンであり、今後バージョンが更新される。最新版のPythonインストーラーをDLする。 ) ダウンロードフォルダにて、先ほどDLしたインストーラーのファイルがあるので、ダブルクリックしてPytho ...