「CSVファイルから18歳以上の人のデータを抽出するプログラム」と「webサイトからh1要素のテキストとhttpsリンクを抽出するプログラム」の2つのPythonプログラムの紹介」

python

概要

Pythonは、シンプルでクリーンな文法を持つオープンソースの高水準汎用言語で、多くの企業によって広く使用されています。

プログラマーにとっては、高い生産性と効率性を実現し、様々なプロジェクトやアプリケーションに対応する柔軟性があるため、非常に便利で実用的な言語です。

詳細内容

## サンプルコード1:CSVファイルからデータを読み込んで処理するプログラム

python
import csv# CSVファイルの読み込み
with open('data.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    header = next(reader)  # CSVファイルのヘッダー行を取得    # データの処理
    for row in reader:
        if int(row[2]) >= 18:  # 年齢が18歳以上の場合に処理を実行
            print(row[0], row[1])  # 姓と名を出力

このプログラムは、CSVファイルからデータを読み込んで、年齢が18歳以上の場合に姓と名を出力する処理を行うものです。

以下が各行の説明です。

– `import csv`
– csvモジュールをインポートします。

– `with open(‘data.csv’, ‘r’, encoding=’utf-8′) as f:`
– ファイル `’data.csv’` を開き、読み取りモード `’r’` で `encoding=’utf-8’` としてエンコーディングを指定します。

– `with` 文を使うことで、ファイルを自動でクローズすることができます。

– `reader = csv.reader(f)`
– `csv.reader()` 関数により、ファイルオブジェクト `f` をリーダーオブジェクト `reader` に変換します。

– `header = next(reader)`
– `next()` 関数により、ヘッダー行を取得します。

– `for row in reader:`
– データ行の処理を行います。

– `reader` から1つのデータ行をリスト `row` に読み込みます。

– `if int(row[2]) >= 18:`
– 年齢が18歳以上かどうかを判定します。

データ行の中で、3番目の要素(年齢)が文字列型であるため、`int()` 関数で整数型に変換しています。

– `print(row[0], row[1])`
– 姓と名を出力します。

データ行の中で、1番目の要素(姓)と2番目の要素(名)を出力します。

## サンプルコード2:webスクレイピングしてデータを取得するプログラム

python
import requests
from bs4 import BeautifulSoup# URLからHTMLデータを取得して、BeautifulSoupオブジェクトを作る
url = 'https://www.example.com/'
res = requests.get(url)
soup = BeautifulSoup(res.content, 'html.parser')# HTMLデータの解析と抽出
title = soup.find('h1').get_text()
links = soup.find_all('a')
for link in links:
    href = link.get('href')
    if href.startswith('https'):
        print(href)

このプログラムは、対象の web サイトから HTML データを取得して、h1 要素のテキストとhttpsから始まるリンクを出力するものです。

以下が各行の説明です。

– `import requests`
– requests モジュールをインポートします。

HTTP リクエストを送るために使用します。

– `from bs4 import BeautifulSoup`
– BeautifulSoup モジュールから BeautifulSoup クラスをインポートします。

HTML データの解析に使用します。

– `url = ‘https://www.example.com/’`
– 取得対象の web サイトの URL を指定します。

– `res = requests.get(url)`
– requests.get() 関数により、対象の URL に GET リクエストを送信します。

– `res` には、レスポンスオブジェクトが格納されます。

– `soup = BeautifulSoup(res.content, ‘html.parser’)`
– res.content から HTML 文字列を取り出し、BeautifulSoup クラスによりパースして `soup` に格納します。

– `title = soup.find(‘h1’).get_text()`
– h1 要素を探して、その中のテキストを `title` に格納します。

– `links = soup.find_all(‘a’)`
– a 要素(リンク)をすべて取得し、リスト `links` に格納します。

– `for link in links:`
– リスト `links` の要素(a 要素)を1つずつ取り出して繰り返します。

– `href = link.get(‘href’)`
– a 要素から href 属性の値を取り出し、`href` に格納します。

– `if href.startswith(‘https’):`
– href 属性の値が `’https’` で始まっているかどうかを確認します。

– `startswith()` メソッドが `True` を返した場合、`href` を出力します。

コメント

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