- 1. Pythonソートの速さを比べてみた: インスタンスのリストをソート
- 2. レシートのOCR・店名編(Python)
- 3. レシートのOCR・日付の抽出編(Python)
- 4. iRIC格子CSVファイルをGISデータに変換する
- 5. [Python]RSS翻訳で利用する翻訳APIをDeepL(無料版)にした話
- 6. Python requests問題とURLの補強
- 7. Cloud FunctionsをPythonで書く
- 8. djangoでtemplateのhtmlファイルがUnicodeDecodeErrorになる
- 9. 2022年のPythonの組み込みvenvツールについて
- 10. Jupyter コンテナをカスタマイズして PyImageJ を動作させる
- 11. PythonでArcGISを操作する環境構築をしてみた
- 12. 【Django】DBに保存した文字列をボタンでコピーする方法
- 13. Djangoで郵便番号の入力から住所を反映させる
- 14. 40代プログラミング初心者がpython初めて半年!独学で勉強が続いている理由と読んだ本
- 15. ExcelファイルをPythonでデータ分析する (4.ランキングチャート)
- 16. 【Serverless Framework】コンテナイメージを使ってPackageする際はアーキテクチャに気を付ける【Python】
- 17. 【備忘録】同じ階層にあるpyファイルをipynb上でimportできなかった
- 18. Pythonで文字起こし
- 19. pyenvでpythonバージョンが変更できないときのちょっとしたミス
- 20. 地図のWikipedia!OpenStreetMapのデータをPythonで簡単にダウンロードできるPyrosmとleafmapを使ってみよう!
Pythonソートの速さを比べてみた: インスタンスのリストをソート
## はじめに
Pythonインスタンスのリストを、複数方法でソートし、
その速さを比較してみました。## 検証シナリオ
Bookクラスのインスタンスリストをtitleの降順でソートします。
“`
class Book:
def __init__(self, title: str, author: str, price: int):
self.title = title
self.author = author
self.price = price
“`## ソート方法
以下の5つの方法でソートし、処理時間を比較します。
– 1\. sorted()関数、key指定にlambdaを使ってソート
– 2\. sorted()関数、key指定にattrgetterを使ってソート
– 3\. リストのsort()メソッド、key指定にlambdaを使ってソート
– 4\. リストのsort()メソッド、key指定にattrgetterを使ってソート
– 5\. バブルソートを使ってソート## サンプルコード
“`sort.py
# Bo
レシートのOCR・店名編(Python)
# 概要
Google Vision APIを使ったOCR結果をもとにレシートの店名を抽出します。
## 前提となる記事
下記の記事を前提としています。
https://qiita.com/shoku-pan/items/bf5645894803769edc72#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB
データフローは下記のようになっており、
“`mermaid
graph LR
image –>|OCRの実行| OCR_object
OCR_object –>|必要なデータを抽出| text_and_position_data
“`データの抽出には下記の関数を用いました。以降はこの生成物である`lines`を前提とします。
(ざっくりいうと`[x,y,text,symbol.boundingbox]`を格納したリストのリストです。)“`py
def get_sorted_lines(response,threshold = 5):
“””Boundingboxの左上の位置を参考に行ごとの文章にParseする
レシートのOCR・日付の抽出編(Python)
# 概要
Google Vision APIを使ったOCR結果をもとにレシートの日付を抽出します。
通常のアプローチと泥臭いアプローチの2つをお見せします。
## 前提となる記事
下記の記事を前提としています。
https://qiita.com/shoku-pan/items/bf5645894803769edc72#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB
データフローは下記のようになっており、
“`mermaid
graph LR
image –>|OCRの実行| OCR_object
OCR_object –>|必要なデータを抽出| text_and_position_data
“`データの抽出には下記の関数を用いました。以降はこの生成物である`lines`を前提とします。
(ざっくりいうと`[x,y,text,symbol.boundingbox]`を格納したリストのリストです。)“`py
def get_sorted_lines(response,threshold = 5):
“””Bou
iRIC格子CSVファイルをGISデータに変換する
**実行環境**
Windows10
Python 3.9.5
geopandas 0.10.2
pandas 1.3.1
shapely 1.8.0## はじめに
水理学のいろはも知らなければ [iRIC](https://i-ric.org/ja/) も未経験なのですが、ちょっと機会があって iRIC格子CSVファイルを GIS データに変換するということをしました。今回はそのとき python で書いたコードを載せたいと思います。
iRIC は、CGNS ファイルや VTK ファイルなどの形式で格子をエクスポートすることができます。
ファイルフォーマットについてはこちらに載っています。
https://iric-gui-user-manual.readthedocs.io/ja/latest/03/03_10_02_grid.html#sec-file-export-grid
これらのファイルを扱うライブラリで GIS データに変換できないだろうかと少し調べましたが、ちょっと分かりませんでした。
ググっても iRIC の格子を一般的な GIS データに直接変換す
[Python]RSS翻訳で利用する翻訳APIをDeepL(無料版)にした話
## はじめに
以前カジキはこういうものを作り、定期実行する環境まで作成しました(環境作成については別途記事にするつもり)
[[Python]RSS取得した情報を翻訳してslackに投稿する](https://qiita.com/Istiophorus/items/947c97801cd6b6510ceb)
で、いざ運用に乗っけてみると、当初心配していた`googleTrans`のAPI制限には特に引っかかることはなく使えました。
しかし、翻訳テキストとして渡す中身によって動作が安定しないという別の問題に直面しました。特に、あるRSSサイトが配信しているfeedと相性が悪く、そのfeedでだいたい落ちてしまう。そのfeed自体、翻訳処理をかけるまでにこっちでテキストをだいぶ加工してあげなければならないような、お行儀のよくないサイトではあるんですが、処理が落ちるテキストを調べてもおかしなところが特に見つからずハマりました。(ライブラリ側の置換処理がうまくいっていないことが原因だった模様)
ここは、翻訳APIが`googleTrans`という非公式ライブラリである限りは、あまり文
Python requests問題とURLの補強
## 行っていたこと
1. pythonのrequestsを使って複数のURLをチェック(URLが死んでいないか)
1. URLの補強## 問題
#### 問題1 : 脆弱性に該当するSSL通信
エラー内容
`` requests.get(url, verify = False)
`verify = False`をつけるとセキュリティのレベルを下げてくれるらしい
しかし、エラーとしてではないけど、Warningがめちゃ出るimport urllib3
from urllib3.exceptions import InsecureRequestWarning
urllib3.disable_warnings(InsecureRequestWarning)#### 問題2 : URLは開けるはずなのに、403で返ってくる
requestsでgetすると403で返ってきてしまう
・・・URLを踏むとU
Cloud FunctionsをPythonで書く
# この記事について
Cloud FunctionでPythonを使用するためのサンプルです
[こちら](https://github.com/hideto1198/GCP_Python “GitHub”)からサンプルコードのダウンロードができます。# なぜPython?
好きだから。これに限ります。Pythonは遅いとよく言われますが、使用するメモリ量などを調整することでマシになりますし、
自分のプロジェクトでは影響が出るほどでもないからです。限界まで速さを求めるなら他の言語が良いでしょう# はじめに
Cloud Functionsのデプロイはかなり遅いです。プログラムミスで再デプロイする時の時間ほど苦痛な時はありません。
なので僕は基本的にVSCode上でテストプログラムを作成してからCloud Functionsにデプロイしています。
コードチェックもありませんので、間違えててもそのまま通過します。(デプロイは失敗します)
ローカルでテストしてデプロイするのがベターでしょう
ローカルではサービスアカウントのファイルを使用します。
`Firebase -> 任意のプロジェク
djangoでtemplateのhtmlファイルがUnicodeDecodeErrorになる
# djangoでtemplateのhtmlファイルがUnicodeDecodeErrorになる
UnicodeDecodeError at <htmlのディレクトリ>
‘utf-8’ codec can’t decode byte xxx in position xx: invalid start byte該当のhtmlに日本語が入っているとエラーになる。
## 原因
VSCodeで作成したhtmlファイルがなぜか、”Shift JIS”に
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/245425/b2278710-7260-a29f-d440-0860157098da.png)
## 対処
UTF-8に変更して保存して解決
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/245425/f0940fd0-da6e-bc28-bc72-6f8fe8ebb87b.png
2022年のPythonの組み込みvenvツールについて
・Pyenv:プロジェクトごとの仮想環境のコンテキスト外で、コマンドラインでさまざまなPythonエディションを使用する場合に便利です。
・Pipenv:Pipenvは、仮想環境とプロジェクトの依存関係管理ツールとして使えます。ただし、Pipenvはどのような形式のパッケージ化についても対応している訳ではないです。そのため、最終的にPyPIにアップロードしたり、他の人と共有したりするプロジェクトには理想的ではありません。
Poetry:Pipenvのツールセットを拡張したPoetryは、プロジェクトと要件を管理するだけでなく、プロジェクトをPyPIに簡単にデプロイする事が可能です。
PDM:最も最先端のプロジェクトです。PoetryやPipenvと同様に、PDMは、プロジェクトをセットアップし、その依存関係を管理し、そこから配布アーティファクトを構築するための単一のインターフェースを提供します。
Jupyter コンテナをカスタマイズして PyImageJ を動作させる
# 1. はじめに
顕微鏡観察等の画像解析に広く利用される `ImageJ` (JAVAの仮想マシン上で動作)と`OpenCV`, `scikit-image` などの `Python` 画像処理ライブラリとを連携させるため、`PyImageJ` をインストールした `JupyterLab` の Docker コンテナ環境を構築しました。
docker コマンドが使用できる環境であれば、Python ラッパー関数を提供する `PyImageJ` を使用して、 `ImageJ` の機能を `Python` ノートブック上でお手軽に試すことができます。
ここでは、`OpenCV` による白黒二値化処理と `ImageJ` による粒子解析を組み合わせた参考事例を紹介します。
# 2. 動作テスト
## 2.1. JupyterLab サーバー起動ターミナルを開き、カレントディレクトリに `notebooks` ディレクトリを作成しましょう。
次に、以下の docker コマンドを入力します。
ユーザー権限の問題が生じないように、環境変数 `NB_UID` および `NB_GID
PythonでArcGISを操作する環境構築をしてみた
# はじめに
PythonでArcGISを操作できるように環境構築してみた# 前提
1.Anacondaがインストールしてあること2.Anacondaのバージョンが最新であること
最新にしていない方は下記コマンド実行
“`
conda update -n base -c defaults conda
“`3.pipがインストールしてあること
4.Anacondaがactivateであること
“`
conda activate(base)xxxxx
“`# 手順
1.下記コマンドを実行する
“`
conda install -c esri arcgis
“`下記コマンドを実行し、ArcGISがインストールされていることを確認
“`
conda list> arcgis 2.0.1 py39_2826 esri
“`※エラーが発生し、ArcGISがインストールできない場合は下記を実行
“`
conda install -c esri arcgis –no-de
【Django】DBに保存した文字列をボタンでコピーする方法
こんにちは、k_ukiです。現在卒業研究でDjangoを用いたwebアプリの開発を行っております。
その中で、ボタンを押すことでその文字列をクリップボードにコピーする機能を実装しました。今回はその実装方法について述べていきます。
![Videotogif (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2341225/318d7ab8-a6b7-2975-8973-f29e0c680441.gif)また、この記事ではオブジェクトを出力する方法(通常のCRUDの処理)やルーティングなどの実装方法は省略いたします。
## テンプレートの作成
以下は、ボタンを配置するページのコードです。
“`
{% extends ‘base.html’ %}
{%block title%}提案結果 {%endblock%}
{% block content %}関連する記事
OTHERカテゴリの最新記事
- 2024.09.19
JavaScript関連のことを調べてみた
- 2024.09.19
JAVA関連のことを調べてみた
- 2024.09.19
iOS関連のことを調べてみた
- 2024.09.19
Rails関連のことを調べてみた
- 2024.09.19
Lambda関連のことを調べてみた
- 2024.09.19
Python関連のことを調べてみた