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

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

目次

はじめに

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

コメント

コメントする

目次