stmtkブログ

Python中心の技術ブログです。

【Python】CSVファイルから見出しを削除する

機能

CSVファイルから見出しを削除するPythonプログラムです。

フォルダ内にあるCSVファイルの見出しを削除します。

見出し1,見出し2,見出し3
1,2,3
11,22,33
111,222,333
1,2,3
11,22,33
111,222,333

サンプル動画

youtu.be

プログラム

#! python3
# 機能
#  CSVファイルから見出しを削除する
# 使い方
#  1.Pythonを実行する
# 実行コマンド
#  python header_remover.py 入力フォルダ 出力フォルダ
#  python header_remover.py input output

import os
import sys
import csv

# CSVファイルの見出しを削除する関数
def remove_header(input_folder, output_folder):
    os.makedirs(output_folder, exist_ok=True)

    # フォルダ内のCSVを探す
    for file_name in os.listdir(input_folder):
        if not file_name.lower().endswith(".csv"):
            continue

        print("Removing header: " + file_name + "...")

        # CSV読み込み
        rows = []
        with open(os.path.join(input_folder, file_name), encoding="UTF-8") as csv_file:
            csv_reader = csv.reader(csv_file)
            for row in csv_reader:
                # 1行目(見出し)は飛ばす
                if csv_reader.line_num == 1:
                    continue
                rows.append(row)

        # CSV書き込み
        with open(
            os.path.join(output_folder, file_name), "w", newline="", encoding="UTF-8"
        ) as csv_file:
            csv_writer = csv.writer(csv_file)
            for row in rows:
                csv_writer.writerow(row)


if len(sys.argv) != 3:
    sys.exit("使い方:python header_remover.py 入力フォルダ 出力フォルダ")

remove_header(sys.argv[1], sys.argv[2])

使い方

  1. Pythonを実行する

実行コマンド

python header_remover.py 入力フォルダ 出力フォルダ
python header_remover.py input output

参考文献

www.oreilly.co.jp