python メモ

Pythonで処理を 100ms(0.1秒) 停滞させる方法

import time

time.sleep(0.1)  # 100ms (0.1秒) 停止

配列(リスト)化されたオブジェクトの一部要素を使用して分岐処理を行う方法

if使用

products = [
    {"name": "リンゴ", "category": "果物", "price": 150},
    {"name": "バナナ", "category": "果物", "price": 100},
    {"name": "牛乳", "category": "飲料", "price": 200},
    {"name": "パン", "category": "食品", "price": 250},
]

for product in products:
    if product["category"] == "果物":
        print(f"{product['name']} は果物です。")
    elif product["category"] == "飲料":
        print(f"{product['name']} は飲み物です。")
    else:
        print(f"{product['name']} はその他の食品です。")

# 出力
# リンゴ は果物です。
# バナナ は果物です。
# 牛乳 は飲み物です。
# パン はその他の食品です。

dict使用

def fruit_action(product):
    print(f"{product['name']} は果物です。")

def drink_action(product):
    print(f"{product['name']} は飲み物です。")

def default_action(product):
    print(f"{product['name']} はその他の食品です。")

# カテゴリごとの処理を辞書にマッピング
category_actions = {
    "果物": fruit_action,
    "飲料": drink_action
}

for product in products:
    action = category_actions.get(product["category"], default_action)
    action(product)

# 出力
# リンゴ は果物です。
# バナナ は果物です。
# 牛乳 は飲み物です。
# パン はその他の食品です。

CSVファイルを作成

import csv

products = [
    {"name": "リンゴ", "category": "果物", "price": 150},
    {"name": "バナナ", "category": "果物", "price": 100},
    {"name": "牛乳", "category": "飲料", "price": 200},
    {"name": "パン", "category": "食品", "price": 250},
]

# CSVファイルの保存パス
csv_filename = "products_flag.csv"

# CSVデータを作成
with open(csv_filename, mode="w", newline="", encoding="utf-8") as file:
    writer = csv.writer(file)

    # ヘッダー行を書き込む
    writer.writerow(["name", "flag"])

    # データ行を書き込む(リンゴ・バナナなら True、それ以外は False)
    for product in products:
        is_target = product["name"] in ["リンゴ", "バナナ"]
        writer.writerow([product["name"], is_target])

print(f"{csv_filename} を作成しました。")

配列のオブジェクトを for で回し、特定の要素を抽出して JSON 化し外部システムのAPI使用

import json

# 元データ
products = [
    {"name": "リンゴ", "category": "果物", "price": 150},
    {"name": "バナナ", "category": "果物", "price": 100},
    {"name": "牛乳", "category": "飲料", "price": 200},
    {"name": "パン", "category": "食品", "price": 250},
]

# 指定した要素(name と price のみ)を抽出
filtered_products = [{"name": p["name"], "price": p["price"]} for p in products]

# JSON データを作成
json_data = json.dumps({"products": filtered_products}, ensure_ascii=False)

# curl コマンドで使用するための JSON をエスケープ
escaped_json = json_data.replace('"', '\\"')

# curl コマンドを作成
api_url = "https://api.example.com/products"
curl_command = f'curl -X POST {api_url} -H "Content-Type: application/json" -d "{escaped_json}"'

print("生成された curl コマンド:")
print(curl_command)

# 出力されるcurlコマンド
# curl -X POST https://api.example.com/products -H "Content-Type: application/json" -d "{\"products\": [{\"name\": \"リンゴ\", \"price\": 150}, {\"name\": \"バナナ\", \"price\": 100}, {\"name\": \"牛乳\", \"price\": 200}, {\"name\": \"パン\", \"price\": 250}]}"

是非フォローしてください

最新の情報をお伝えします