Pythonで文字列のトークン化とパース処理を行う方法

この記事では、Pythonで文字列のトークン化とパース処理を行う方法について詳しく解説します。具体的なコード例とその解説、そして応用例も含めてご紹介します。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

はじめに

文字列のトークン化(Tokenization)とは、大きな文字列を小さな単位(トークン)に分割する処理のことです。パース(Parsing)は、そのトークンを解釈して何らかの意味を抽出する処理を指します。

基本的なトークン化とパース

文字列の分割

Pythonの`split`メソッドを用いて、簡単なトークン化を行いましょう。

# 空白で文字列を分割
text = "Hello World"
tokens = text.split(" ")
print(tokens)

このコードは、”Hello World”という文字列を空白で分割しています。

正規表現を使ったトークン化

正規表現を使用して、より複雑なトークン化を行う方法もあります。

import re

# 正規表現で数字をトークンとして抽出
text = "Year: 2023, Month: 10"
tokens = re.findall(r'\d+', text)
print(tokens)

応用例

CSVデータのパース

CSVデータの各行をトークン化し、それをさらにカンマで分割する例です。

# CSVデータの各行をトークン化
csv_data = """Name,Age,Job
Alice,29,Engineer
Bob,45,Manager"""

lines = csv_data.split("\n")
for line in lines:
    tokens = line.split(",")
    print(tokens)

JSONデータのパース

JSON形式のデータをPythonオブジェクトに変換する例です。

import json

# JSONデータのパース
json_data = '{"name": "Alice", "age": 29, "job": "Engineer"}'
parsed_data = json.loads(json_data)
print(parsed_data)

HTMLのスクレイピング

PythonのBeautifulSoupライブラリを使用して、HTMLからデータを抽出します。

from bs4 import BeautifulSoup
# HTMLデータのパース
html_data = 'Title

Paragraph

' soup = BeautifulSoup(html_data, 'html.parser') print(soup.title.string)

まとめ

Pythonで文字列のトークン化とパース処理を行う方法には多くの選択肢があります。この記事で紹介した基本的な方法から応用例まで、用途に応じて適切な手法を選んでください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次