Traitement du langage 100 coups 2015 ["Chapitre 3: Expressions régulières"](http: //www.cl.ecei.tohoku) Il s'agit d'un enregistrement de 20e "Lecture de données JSON" de .ac.jp / nlp100 / # ch3).
C'était une revue de ce que j'avais fait il y a plus d'un an, mais je m'en souvenais à peine. J'avais l'habitude de rechercher des expressions régulières sur Google chaque fois que j'en avais besoin, mais je me suis rendu compte que cela n'aurait aucun sens pour moi à moins que je ne les produise au moins dans des articles.
Le 20ème est très facile à lire un fichier JSON en préparation pour une tâche d'expression régulière. Je charge en utilisant pandas
, mais je me rends compte à nouveau de la commodité des pandas
.
Lien | Remarques |
---|---|
020.Lire les données JSON.ipynb | Lien GitHub du programme de réponse |
100 coups de traitement du langage amateur:20 | Copiez et collez la source de nombreuses pièces source |
Apprenez les bases et les astuces des expressions canoniques Python à partir de zéro | J'ai organisé ce que j'ai appris dans ce coup |
Expression régulière HOWTO | Expression régulière officielle Python - Comment faire |
re ---Opération d'expression régulière | Description officielle du paquet Python re |
type | version | Contenu |
---|---|---|
OS | Ubuntu18.04.01 LTS | Il fonctionne virtuellement |
pyenv | 1.2.15 | J'utilise pyenv car j'utilise parfois plusieurs environnements Python |
Python | 3.6.9 | python3 sur pyenv.6.J'utilise 9 3.7 ou 3.Il n'y a aucune raison profonde de ne pas utiliser la série 8 Les packages sont gérés à l'aide de venv |
Dans l'environnement ci-dessus, j'utilise les packages Python supplémentaires suivants. Installez simplement avec pip ordinaire.
type | version |
---|---|
pandas | 0.25.3 |
En appliquant des expressions régulières à la description du balisage sur la page Wikipédia, diverses informations et connaissances peuvent être extraites.
Expressions régulières, JSON, Wikipedia, InfoBox, services web
Un fichier jawiki-country.json.gz qui exporte les articles Wikipédia au format suivant Il y a.
- Une information d'article par ligne est stockée au format JSON --Dans chaque ligne, le nom de l'article est stocké dans la clé "titre" et le corps de l'article est stocké dans l'objet dictionnaire avec la clé "texte", et cet objet est écrit au format JSON. --Le fichier entier est compressé au format gzip
Créez un programme qui effectue le traitement suivant.
Lisez le fichier JSON de l'article Wikipedia et affichez le texte de l'article sur "UK". Dans les problèmes 21-29, exécutez sur le texte de l'article extrait ici.
from pprint import pprint
import pandas as pd
df_wiki = pd.read_json('./jawiki-country.json', lines=True)
pprint(df_wiki[(df_wiki['title'] == 'Angleterre')]['text'].values.item())
Le fichier JSON est lu par la fonction read_json
. Vous pouvez charger le format [JSON Lines](JSON Lines) en passant True au paramètre lines
.
df_wiki = pd.read_json('./jawiki-country.json', lines=True)
Le DataFrame
chargé ressemble à ceci. Le nom du pays est inclus dans "title".
Le résultat est sorti à la fin. J'utilise la fonction pprint
parce que je voulais casser une ligne.
pprint(df_wiki[(df_wiki['title'] == 'Angleterre')]['text'].values.item())
Résultat de sortie
('{{redirect|UK}}\n'
'{{Informations de base Pays\n'
'|Nom abrégé=Angleterre\n'
Omission
'[[Category:Pays souverain]]\n'
'[[Category:Pays insulaire|Kureito Furiten]]\n'
'[[Category:État / région créé en 1801]]')
Recommended Posts