Magicode logo
Magicode
1
5 min read

pythonおすすめライブラリ

あまり他では見ない気がするPythonおすすめライブラリ集

  • Pythonおすすめライブラリといえば
    • numpy
    • pandas
    • matplotlib
    • openpyxl
    • pyautogui

他にもたくさんあり、数多くの方が、あれやこれやをおすすめしているのですが、
なぜ、これがないんだ? と思ったのを取り上げていきたいと思います。

1.natsort

かなり便利で、実際に調べればすぐ出てくる割に、
おすすめされることは見たことないのがこのライブラリ

C:\>pip install natsort

ちなみにpythonの標準ライブラリにもsort関数はあります。

import random

!pip install natsort
from natsort import natsorted

x_sort = [random.randint(1,20) for i in range(15)] # ランダムで数字を生成
print(x_sort)

print(f"sort    並べ替え:{sorted(x_sort)}")
print(f"natsort 並び替え:{natsorted(x_sort)}")

ランダムに生成された数がきれいに並び替えられてるのがわかるでしょうか?
どちらでも同じように並べられます。

ですが、natsortedの重要性は以下の場合に現れます。

import random
from natsort import natsorted

str_sort = [str(random.randint(1,20)) for i in range(15)]
print(str_sort)

print(f"sort    並べ替え:{sorted(str_sort)}")
print(f"natsort 並び替え:{natsorted(str_sort)}")

数字ではなく文字列の場合、sortによる並び替えでは10 < 2といった順番で並んでしまいます。

str型を並び替える機会は個人的によくあると思いますので、natsortedを利用してみましょう。

2.yt-dlp

youtubeの動画をDL出来るライブラリ

C:\>pip install yt-dlp

調べると面倒な設定がごちゃごちゃと乗っていることが多いyt-dlpですが、pythonを導入していれば無問題!

pip install後

C:\>yt-dlp 動画URL

以上で、動画のDLが可能になります。

ちなみにチャンネル画面のURLではチャンネル内の動画がDLできます。

youtubeでの広告や著作権的に問題のある動画など、DLをそこまで進めることはできませんが、
教育系の動画をみているときなんかは、マウスホイールで巻き戻しをしたい場合が多いので、
頻繁に再生時間を調整したい動画はこれを利用しています。

また、オプションをつけることで、DLした動画名や画質を変更することが可能となります。

yt-dlp 動画URL -f best -o %(upload_date)s_%(title)s.%(ext)s
  • おすすめ構成
    • -f best 最高画質
    • %(upload_date)s アップロード日
    • %(title)s 動画名
    • %(ext)s 拡張子

この構成でのDLが良かったです。

参考サイト

yt-dlp オプション一覧及びそのメモ

https://masayoshi-9a7ee.hatenablog.com/entry/2021/11/06/112639

YouTubeやニコニコ動画などのムービーを最高画質・高音質でダウンロード可能な「yt-dlp」の使い方まとめ、年齢制限ムービーも一発ダウンロード可能

https://gigazine.net/news/20220101-yt-dlp/

3.pip-review

ライブラリのアップデートに便利なライブラリ

C:\>pip install pip-review
C:\>pip list -o

上記のコマンドでアップデートができるライブラリを調べることはすでに可能ですが、
一括アップデートは地味に手間だったりします。

それを解決してくれるのがpip review

C:\>pip-review

まずはこのコマンドでpip list -o同様のアップデート可能ライブラリが確認できます。

C:\>pip-review --auto

上記のコマンドで一括アップデートが可能

人によっては、やりたくないライブラリもあるでしょうがそんなあなたも安心

C:\>pip-review --interactive

インタラクティブモードで、選択してアップデートを選ぶことが可能です。

pip-reviwを使わない場合、コマンドが複雑で色々面倒になります。

ですが状況次第ではライブラリのインストールをしたくない場合もありますので、
他の方法につきましては下記サイトを参照してください。

参考サイト

pipで管理しているパッケージのバージョン管理を少し楽にする方法

https://zenn.dev/kittybbit/articles/bf8dd1db0e307d

4.black

自動でソースコードを整形してくれる自由度低めのコードフォーマッター

C:\>pip install black

性能の一例をあげますと、

x=1+2
y = 5 - 6

xに代入する数式の書き方よりy側の書き方が理想ですが、
毎回きれいに整えるのは非常にめんどくさい。
途中で書いたり消したりでぐちゃぐちゃになるから仕方がないとしか言いようがない。

そんな面倒を解消してくれるのがコードフォーマッター
自動でy側の数式のように整形してくれます。

おすすめのコードフォーマッターとしてはよく見るけど、おすすめのライブラリとしては見ない。
まぁimport blackが必要としませんが、installはこれまでと同様。

導入後

C:\>black sourcecode.py

または、

C:\>python -m black sourcecode.py

……いや、いちいちこんなことしてたら怠いわ!
そんなめんどくさがりなあなたには、VScodeの設定に下記の内容を付け加えると完了

,
    "python.formatting.provider": "black",
    "python.formatting.blackArgs": [
        "--line-length",
        "88"
    ],
    "editor.formatOnSave": true,

ソースコード保存時に、自動でコードが整形されます。
汚いソースコードも導入後は以下の通り、保存するだけでok

x = 1 + 2
y = 5 - 6

ちなみにどうしても変更して欲しくない部分も存在すると思いますので、
その場合は# fmt: offを入れておけば、自動整形を防げます。
一部の場合のみの場合開始したいところから# fmt: onをかけば自動整形がしてもらえます。

# fmt: off
x=1+2      # 維持したい
# fmt: on
y = 5 - 6

他にも便利な設定がありますが、それはライブラリではなくVisual Studio Code側なのでpass

小説家向け

pykakasi

対象の文字のふりがなを表示してくれるライブラリ

C:\>pip install pykakasi
!pip install pykakasi
import pykakasi

kks = pykakasi.kakasi()
print(type(kks))
kanjis = "東京特許許可局"
hurigana = ""

result = kks.convert(kanjis)
print(result)
for res in result:
    hurigana += res["hira"]
print(hurigana)

ちなみに、改行が入るといくつか挙動が怪しくなります。
いろいろな問題がありますが、力技で解決可能

その時に書いたプログラムをいつか記事にしようとは思ってますので、
もう少しお待ち下さい。

参考サイト

【Python】漢字をローマ字・ひらがな・カタカナに自動変換する方法  (pykakasi)

https://office54.net/python/module/pykakasi-kanji-convert

Discussion

コメントにはログインが必要です。