[PYTHON] Verwenden Sie MeCab, um Messwerte abzurufen

Ich war süchtig nach der Installation von Python-Mecab, also wollte ich nur das tun, was Pat gelesen hatte, und entschied mich, einfach den Befehl Mecab zu drücken.

Mecab kann solche Messwerte erhalten (es kann nur genommen werden, wenn es im Wörterbuch steht)

$ echo "Apfel" | mecab -Oyomi
Apfel

Hier ist also ein Skript, das den Namen aus dem Django-Modell zieht und in Yomigana konvertiert.

yomigana.py


# -*- coding: utf-8 -*-

import os
import sys

import re
from subprocess import Popen, PIPE

import jcconv

from django.conf import settings

sys.path.append(os.path.abspath(os.path.dirname('.')))
os.environ['DJANGO_SETTINGS_MODULE'] = 'hogehoge.settings'

from hogehoge.apps.fuga.models import Piyo

def get_yomigana(text):
    p1 = Popen(['echo', text], stdout=PIPE)
    p2 = Popen(['mecab', '-Oyomi'], stdin=p1.stdout, stdout=PIPE)
    p1.stdout.close()
    output = p2.communicate()[0]
    return re.sub(r'\n', '', output)

for piyo in Piyo.objects.all():
    yomigana = jcconv.kata2hira(jcconv.half2hira(get_yomigana(piyo.name )))

    print ','.join([str(user.id), piyo.name.encode('cp932'), yomigana.decode('utf8').encode('cp932')])

Der Projektname ist hogehoge. Ich habe mich auf das folgende Handbuch bezogen, um externe Befehle auszuführen.

Anscheinend wird os.system abgeschafft (2.7)

Recommended Posts

Verwenden Sie MeCab, um Messwerte abzurufen
Wie man Mecab, neologd-ipadic auf Colab verwendet
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Wie benutzt man Seaboan?
Verwendung von Image-Match
Wie man Shogun benutzt
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Einfach zu bedienende Flasche
Verwenden Sie Mecab mit Python 3
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Gründe für die Verwendung von log
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Einfach zu bedienendes SQLite3
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
Python-How zur Verwendung von Pyinstaller
Verwendung von OptParse
Verwendung von return
Wie man Imutils benutzt
Verwendung von Qt Designer
Verwendung der Suche sortiert
[gensim] Verwendung von Doc2Vec
python3: Verwendung der Flasche (2)
Verstehen Sie, wie man Django-Filter verwendet
Verwendung des Generators
[Python] Verwendung von Liste 1
Fügen Sie MeCab ein Wörterbuch hinzu
QSM-Analyse - Verwendung von MEDI-
Verwendung von FastAPI ③ OpenAPI
Verwenden Sie MeCab, um schlampige Sätze "langsam" zu übersetzen.
Wie benutzt man Python Argparse?
Verwendung von IPython Notebook
Wie man Pandas Rolling benutzt
[Hinweis] Verwendung von virtualenv
Verwendung von Redispy-Wörterbüchern
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
Verwenden Sie Pythons MeCab-Bindungs-Natto-Py
[Go] Verwendung von "... (3 Perioden)"
So bedienen Sie GeoIp2 von Django