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