🏋️‍♀️

WebFOCUSでPYTHON関数を利用する(続)

2025/01/15に公開

集計演算のサンプル

  • col1の中央値を出力
median.py
def median(csvin, csvout):
    with open(csvin,  'r', newline='') as file_in,\
         open(csvout, 'w', newline='') as file_out:
        fieldnames = ['median']
        reader = csv.DictReader(file_in, quoting=csv.QUOTE_NONNUMERIC)
        writer = csv.DictWriter(file_out, quoting=csv.QUOTE_NONNUMERIC,
                                fieldnames=fieldnames)
        writer.writeheader()
        col1_list = []
        for row in reader:
            col1_list.append(row['col1'])
        col1_list.sort()
        median = col1_list[len(col1_list) // 2]
        for row in col1_list:
            writer.writerow({'median': median})

追加モジュール利用サンプル

###プログラムサンプル

  • google関連ワードを取得(requestsライブラリ利用)
gsearch.py
import csv
import requests
import xml.etree.ElementTree as ET
def related(csvin, csvout):
    with open(csvin,  'r', newline='', encoding='utf-8') as file_in,\
         open(csvout, 'w', newline='', encoding='utf-8') as file_out:
        fieldnames = ['ret']
        reader = csv.DictReader(file_in)
        writer = csv.DictWriter(file_out, fieldnames=fieldnames)
        writer.writeheader()
        for row in reader:
            ret = get_related_words(row['str'])
            writer.writerow({
                'ret': ret
            })

def get_related_words(query):
    url = f"https://www.google.com/complete/search?ie=utf-8&oe=utf-8&q={query}&output=toolbar"
    response = requests.get(url)
    root = ET.fromstring(response.content)
    suggestions = root.findall('.//suggestion')
    related_words = [suggestion.attrib['data'] for suggestion in suggestions[:5]]
    return ': '.join(related_words)

パッケージリストの確認

Pythonアダプタのテストでインストール済のパッケージとバージョンを確認できる

Discussion