この記事では、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ファイルの読み書きは非常に多様な操作が可能です。基本操作から応用例まで幅広く紹介しましたので、是非ともこれを活用して効率的なコーディングを行ってください。
コメント