Pythonでファイルパス・ディレクトリ操作とCSVファイルの読み書きをマスターする

この記事では、Pythonを使ったファイルパスやディレクトリの操作、そしてCSVファイルの読み書きについて詳しく解説します。具体的なコード例、その解説、応用例を含めています。

目次

Pythonでのファイルパス・ディレクトリ操作

Pythonでは`os`と`shutil`モジュールを使ってファイルやディレクトリの操作を行うことができます。

基本的な操作

– ファイルやディレクトリの存在確認
– ファイルやディレクトリの作成、削除
– ファイルのコピー、移動

import os
import shutil

# ファイルの存在確認
if os.path.exists('example.txt'):
    print('存在します。')

# ディレクトリの作成
os.makedirs('new_directory')

# ファイルのコピー
shutil.copy('source.txt', 'destination.txt')

応用例1: ディレクトリ内の特定の拡張子を持つファイルを一括削除

import glob

# '.tmp' 拡張子のファイルを一括削除
for filename in glob.glob('*.tmp'):
    os.remove(filename)

PythonでのCSVファイルの読み書き

Pythonの`csv`モジュールを用いると、CSVファイルの読み書きが容易になります。

CSVファイルの読み込み

import csv

with open('example.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

CSVファイルの書き込み

import csv

data = [['Name', 'Age'], ['Alice', 30], ['Bob', 40]]

with open('output.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(data)

応用例2: 複数のCSVファイルをマージ

import glob

output_data = []

# 複数のCSVファイルを読み込む
for csv_file in glob.glob('*.csv'):
    with open(csv_file, 'r') as f:
        reader = csv.reader(f)
        output_data.extend(list(reader))

# マージしたデータを書き出す
with open('merged_output.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(output_data)

応用例3: CSVファイルのデータをフィルタリングして出力

import csv

filtered_data = []

with open('source.csv', 'r') as f:
    reader = csv.reader(f)
    for row in reader:
        # 年齢が40以上のデータのみフィルタリング
        if int(row[1]) >= 40:
            filtered_data.append(row)

with open('filtered_output.csv', 'w') as f:
    writer = csv.writer(f)
    writer.writerows(filtered_data)

まとめ

Pythonを用いてファイルパスやディレクトリの操作、そしてCSVファイルの読み書きは非常に多様な操作が可能です。基本操作から応用例まで幅広く紹介しましたので、是非ともこれを活用して効率的なコーディングを行ってください。

コメント

コメントする

目次