Python で DeepL API Free を利用してテキストファイルを翻訳する

機械翻訳サービスの DeepL はアプリだけでなく API 提供も行っている。 今回は DeepL が公開している free API を利用して、テキストファイルを英日翻訳して、翻訳結果をテキストファイルとして保存する方法について説明する。 無料 API は1か月あたり500,000文字の上限ありの制限があるが、Pro version と変わらない品質の翻訳を行うことができる。 個人利用する分にはこの文字数制限は特に大きな問題にはならないと思われる。 https://www.deepl.com/ja/pro#developer まずアカウントを作成して、DeepL API Free のAPI_KEYを入手する。 その後、以下のスクリプトを実行すれば、翻訳元のファイル名にJA_という接頭辞がついたファイルが保存される。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import requests # NOTE: put API KEY API_KEY:str = '' # NOTE: put target file path target_file:str = "" with open(target_file) as f: txt = f....

January 5, 2022 Â· Shunya Ueta
DataFrame 内部にURLから参照して画像表示

Jupyter Notebook で Pandas DataFrame 内部にURLから画像を参照することで、画像をダウンロードすることなく表示させる

データ分析などをしていると、画像はダウンロードせずに特定の CDN (GCP なら GCS, AWS なら S3 など)で提供されている画像を参照して、 Jupyter Notebook 上で良い感じに表示させたいときがありませんか? 例えば、画像と説明文がペアになっているデータを画像自体はダウンロードせずに Jupyter 上で画像と説明文を DataFrame として表示させたいときが多々ある。 元の画像自体は CDN に格納されていて、画像をダウンロードする必要はなく参照するだけのときにはすごく便利。 毎度画像を CDN からダウンロードするのも無駄なので、画像を加工せずに Jupyter 上で表示するだけなら、この方法がベストですね。 url からとってきた画像を jupyter に表示する でも同じような課題に取り組んでいるが、今回紹介する方法なら余計なパッケージを入れずに最小構成で Jupyter 上で表示できるのが利点。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import pandas as pd from IPython.display import HTML # NOTE: https://www.irasutoya.com/2021/01/onepiece.html から画像を参照 onepiece = { "モンキー・D・ルフィ" : "https://1.bp.blogspot.com/-uxIsaN0S5lQ/X-FcrvAAInI/AAAAAAABdD4/6uw_qNUh9dQrG0aUzIExybt84yTEmXOPwCNcBGAsYHQ/s200/onepiece01_luffy.png", "ロロノア・ゾロ" : "https://1....

December 28, 2021 Â· Shunya Ueta

How to get the uploaded file path and processing its file in Streamlit

Motivation Streamlit is a powerful tools to quickliy build the demo application. If we use Streamlit file upload feature via WebBrowser then we need to its file path to process the uploaded file. So I will introduce how to get uploaed file path in Streamlit. Example We buid the PDF File upload feature in Streamlit and its PDF file convert to image. We use Belval/pdf2image which is a populer PDF converting tool....

July 9, 2021 Â· Shunya Ueta

Streamlit でアップロードしたファイルのパスを取得して、特定の処理をする

モチベーション Streamlit はPython code のみで簡単かつ高速にWebアプリを作成できる強力なパッケージ。 Streamplit で作られたWebアプリ経由でファイルをアップロードして、そのファイルを処理したい際の具体的な実現方法がなかったので備忘録がてら残しておく。 PDFファイルをアップロードして、画像に変換するWebアプリ 具体的に例を交えつつ説明する。 Streamlit を使って、PDFファイルをアップロードしてアップロードされたPDFファイルを画像化するアプリを作成する。 今回は、Belval/pdf2image というPDFパッケージを使用する。 このパッケージは処理したいPDFのファイルパスを要求するインターフェースなので今回の実例に沿っていてわかりやすい。 ローカルマシンは MacOS を想定しており、pdf2image はpoppler の事前インストールが必須。 完成形のスクリーンショット GitHubでもコードを公開しておきました。 hurutoriya/streamlist-file-uploader-example デモ動画はこちら Demo Movie in Youtube Makefile Makefile は依存パッケージを事前インストールするために採用 1 2 3 4 5 install: brew install poppler poetry install run: poetry run streamlit run streamlit_pdf_uploader/main.py Poetry for package management 環境構築はpoetry を使っています。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [tool....

July 8, 2021 Â· Shunya Ueta

Poetry からsetup.py を自動生成する

現状の Poetry では、pyproject.toml を基にした setup.py の直接的な自動生成をサポートしていない。 Support generation of poetry manged setup.py file #761 え?なんで setup.py が必要なんですか? poetry build で生成される source と wheels で事足りるんじゃないですかというツッコミがあると思います。 PyPI や Jflog などでホストせずに、GitHub のリポジトリでパッケージを管理したり、特定のサブディレクトリをパッケージとして扱う際には、未だ setup.py での依存関係の記述が必要です。 Poetry による実現方法 poetry build コマンドと Makefile を組み合わせることで、pyproject.toml に対応した setup.py の自動生成ができるのでそれを採用します。 コマンドはGitHub のissues でのコメントを参考にしました。 1 1 2 3 4 5 6 7 8 9 10 11 12 # package name PACKAGE = lib .PHONY: build-package build-package: ## Generate setup.py by poetry command for shared package poetry build # source ....

May 23, 2021 Â· Shunya Ueta