複数CSVの特定列削除

プログラミング

こんにちは。chanyoGUITARと申します。今回は掲題の件を記事にさせていただきました。

それでは行きましょう!

Pythonでフォルダ内のCSVの特定の列を削除するには、次のコードを使用します。

import csv
import os

def remove_column(folder, column_index):
    for filename in os.listdir(folder):
        if filename.endswith('.csv'):
            input_file = os.path.join(folder, filename)
            output_file = os.path.join(folder, 'output', filename)
            with open(input_file, 'r') as f_input, open(output_file, 'w', newline='') as f_output:
                csv_reader = csv.reader(f_input)
                csv_writer = csv.writer(f_output)
                headers = next(csv_reader)
                headers.pop(column_index)
                csv_writer.writerow(headers)
                for row in csv_reader:
                    row.pop(column_index)
                    csv_writer.writerow(row)

folder = 'csv_files'
column_index = 1 # 削除する列の番号

remove_column(folder, column_index)

このコードは、指定したフォルダ内にあるすべてのCSVファイルから特定の列を削除して、新しいCSVファイルを作成するものです。 入力フォルダ名、削除する列の番号を指定する必要があります。 出力フォルダは自動的に作成されます。

このコードの一部分を応用すれば様々な状況にも対応できますから、一部分だけコピーするなどしていただいて構いません。

以上です!

記事は毎日投稿の予定なので、明日もぜひのぞいてみてください!それでは!

コメント

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