今回紹介するPythonスクリプトは、カレントディレクトリ内の全てのCSVファイルから先頭行を削除するプログラムです。
CSVファイルはテキスト形式のデータを格納するための一般的なフォーマットであり、先頭行には通常ヘッダ情報が含まれています。 プログラムは以下の手順で動作します。
- カレントディレクトリ内のファイルを取得し、拡張子が「.csv」のファイルを特定します。
- 各CSVファイルを読み込み、先頭行を除いた残りの行を新しいファイルに書き込みます。
- 書き込まれた新しいファイルは、新しいフォルダ「csv」に保存されます。
これにより、複数のCSVファイルの先頭行を削除し、新しいCSVファイルとして保存します。データの前処理や分析の際に便利なプログラムです。
全CSVファイルを取得し、先頭の行だけを削除するpythonコード
import csv, os
csv_files = []
# カレントディレクトリのリストから.csvファイルだけを取得する
for file in os.listdir():
if file.endswith('.csv'):
csv_files.append(file)
# csv_filesをひとつずつ読み込みモードで開きcsv_readerオブジェクトを作成
for file in csv_files:
read_file = open(file)
csv_reader = csv.reader(read_file)
# 出力用のCSVファイルを書き込みモードで開く
output_file = open(os.path.join('csv', file), 'w', newline='')
file_writer = csv.writer(output_file)
for row in csv_reader:
if csv_reader.line_num > 1: # ヘッダ行を除いてデータを書き込む
file_writer.writerow(row)
output_file.close()プログラムコードの解説
csv_files リストは、カレントディレクトリ内のすべてのファイル名から、拡張子が .csv のファイル名を抽出して格納します。
for ループは、カレントディレクトリ内の .csv ファイル(csv_files)に対して1つずつ処理
ファイルを読み込みモードで開き、csv_reader オブジェクトを作成します。これにより、CSVファイルの内容を読み込むことができます。
output_file は、新しいフォルダ csv 内に出力用のCSVファイルを書き込みモードで開くためのファイルハンドルです。os.path.join('csv', file) は、現在の作業ディレクトリにある “csv” フォルダに、元のファイル名 file を結合して新しいファイルのパスを作成します。つまり、このコードは新しいファイルを作成するために “csv” フォルダのパスを指定しています。
file_writer オブジェクトを使用して、csv_reader から読み込んだデータを新しいCSVファイルに書き込みます。csv_reader.line_num > 1 はヘッダ行を除いてデータを書き込むための条件です。
まとめ
このPythonスクリプトは、カレントディレクトリ内の複数のCSVファイルから先頭行を削除し、新しいフォルダ “csv” に新しいCSVファイルとして保存するプログラムです。CSVファイルはテキスト形式のデータを格納するための一般的なフォーマットであり、データ前処理や分析に便利なツールとして活用できます。



コメント