「Pythonを使ったテキストファイル読み込み、DataFrame操作、正規表現を使った文字列処理、Webスクレイピングの方法について」

python

概要

Pythonは、世界中で広く使われているプログラミング言語です。

日本でも多くの企業が実務レベルでPythonを活用し、効率的な業務処理やデータ解析、AIの開発などに利用されています。

今回は、日本企業でよく使われるPythonコードをご紹介します。

詳細内容

1. テキストファイル読み込みPythonを使って何かを処理する場合、まずはファイルから必要な情報を取得する処理が必要なことが多いです。

そのため、テキストファイルを読み込むことはよく行われます。

以下は、テキストファイルを読み込み、ファイルの中身を1行ずつ表示するコードです。

# ファイルオープン
with open('example.txt', 'r') as f:
    # ファイルの中身を1行ずつ読み込んで表示
    for line in f:
        print(line.strip())

このコードでは、`with open(‘example.txt’, ‘r’) as f:`でテキストファイルをオープンし、`for line in f:`で1行ずつ文字列として取得できます。

2. DataFrame操作Pandasと呼ばれるライブラリを使うことで、CSVやExcelなどのデータを扱うことができます。

Pandasを使うことでデータを整理することが容易になり、データ解析などでよく使用されます。

以下は、CSVファイルを読み込み、指定した条件に一致する行と列を取得するコードです。

import pandas as pd# CSVファイルを読み込み、DataFrameに変換
df = pd.read_csv('data.csv')# 列名が「age」と「gender」の行を取得
df2 = df[['age', 'gender']]# ageが30以上の行を取得
df3 = df[df['age'] >= 30]# ageが30以上かつgenderが男性の行を取得
df4 = df[(df['age'] >= 30) & (df['gender'] == 'male')]

DataFrameでは、列名や条件によって行を取得することができます。

コード中の`df[[‘age’, ‘gender’]]`は、DataFrameの列名が「age」と「gender」の行を取得するためのコードです。

また、`df[df[‘age’] >= 30]`は、列名が「age」で30以上の行を取得するためのコードです。

最後に、`df[(df[‘age’] >= 30) & (df[‘gender’] == ‘male’)]`は、列名が「age」で30以上かつ「gender」が「male」の行を取得するためのコードです。

3. 正規表現を使った文字列処理正規表現は、ある文字列内のパターンを表現するための記述法です。

Pythonでは、正規表現ライブラリの「re」を使って、文字列処理を行うことができます。

以下は、正規表現を使って、与えられた文字列からURLを抜き出すコードです。

import re# URLを含む文章
text = 'このサイトは https://www.example.com/ です。

'# 正規表現パターンを定義 pattern = r'https?://[\w/:%#\$&\?\(\)~\.=\+\-]+'# 正規表現でURLを抜き出す results = re.findall(pattern, text)# 抜き出したURLを表示 print(results)

このコードでは、変数`text`にURLを含む文章を代入し、変数`pattern`に正規表現パターンを定義します。

この正規表現パターンは、`r’https?://[\w/:%#\$&\?\(\)~\.=\+\-]+`という文字列で、httpまたはhttpsから始まり、スラッシュ(/)やコロン(:)などの記号を含むURLを表します。

その後、`re.findall(pattern, text)`で文章からURLを抜き出し、それを変数`results`に代入します。

最後に、`print(results)`で抜き出したURLを表示します。

4. WebスクレイピングWebスクレイピングとは、Web上の情報を収集するためのプログラムを作成することです。

Pythonでは、Webスクレイピングに必要なライブラリがいくつか用意されており、人気があります。

以下は、Webスクレイピングを行うためのコードです。

import requests
from bs4 import BeautifulSoup# スクレイピングするURLを設定
url = 'https://www.example.com/'# requestsを使ってHTMLを取得
response = requests.get(url)# BeautifulSoupを使ってHTMLを解析
soup = BeautifulSoup(response.text, 'html.parser')# タイトルを取得
title = soup.title.string# aタグのhref属性を取得して表示
for a in soup.find_all('a'):
    print(a.get('href'))

このコードでは、変数`url`にスクレイピングするWebページのURLを設定し、`requests.get(url)`でWebページのHTMLを取得します。

その後、`BeautifulSoup(response.text, ‘html.parser’)`でWebページのHTMLを解析して、`title.string`でタイトルを取得します。

さらに、`soup.find_all(‘a’)`でaタグを抜き出し、`a.get(‘href’)`でhref属性を取得します。

これらを`print()`で表示します。

コメント

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