概要
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` を出力します。
コメント