⑦Pythonプログラミング

Pythonのテキスト処理と正規表現・JSON・CSV操作【実践ガイド】

⑦Pythonプログラミング
記事内に広告が含まれています。

Pythonで正規表現を使ったテキスト処理と、JSONやCSVなどのデータ処理を解説します。ログ解析・データ変換などに必須のスキルです。

正規表現(re モジュール)

import re

text = "IPアドレス: 192.168.1.100, 10.0.0.1"
# パターンにマッチするものを全て取得
ips = re.findall(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", text)
print(ips)  # ['192.168.1.100', '10.0.0.1']

# 置換
new_text = re.sub(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", "x.x.x.x", text)
print(new_text)

# メールアドレスの検証
email_pattern = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
is_valid = bool(re.match(email_pattern, "user@example.com"))
print(is_valid)  # True

JSONの読み書き

import json

# PythonオブジェクトをJSONに変換
data = {"name": "Taro", "age": 25, "scores": [90, 85, 92]}
json_str = json.dumps(data, ensure_ascii=False, indent=2)
print(json_str)

# JSONファイルの読み書き
with open("data.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

with open("data.json", "r", encoding="utf-8") as f:
    loaded = json.load(f)
print(loaded["name"])

CSVの読み書き

import csv

# CSV書き込み
with open("output.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.DictWriter(f, fieldnames=["name", "age", "city"])
    writer.writeheader()
    writer.writerow({"name": "Taro", "age": 25, "city": "Tokyo"})

# CSV読み込み
with open("output.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        print(row["name"], row["age"])

まとめ

  • re.findall()でパターンにマッチする全文字列を取得できる
  • json.dumps/loadsでPythonオブジェクトとJSONを相互変換できる
  • csv.DictWriter/DictReaderでヘッダー付きCSVを読み書きできる

コメント

タイトルとURLをコピーしました