今回紹介する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ファイルはテキスト形式のデータを格納するための一般的なフォーマットであり、データ前処理や分析に便利なツールとして活用できます。
コメント