stmtkブログ

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

【Python】CSVからExcelへ変換する

機能

CSVからExcelへ変換するPythonプログラムです。

フォルダ内にあるCSVExcelのシートへ変換します。

実行前

実行後

サンプル動画

youtu.be

プログラム

#! python3
# 機能
#  CSVからExcelへ変換する
# 使い方
#  1.Pythonを実行する
# 実行コマンド
#  python csv2excel.py 入力フォルダ 出力ファイル名
#  python csv2excel.py input output.xlsx

import os
import sys
import csv
import openpyxl

# CSVからExcelへ変換する関数
def csv2excel(input_folder, output_file_name):
    wb = openpyxl.Workbook()
    wb.remove(wb.active)

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

        print("Converting: " + file_name + "...")

        # CSVごとにシートを作成する
        sheet = wb.create_sheet(os.path.splitext(file_name)[0])

        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:
                sheet.append(row)

    wb.save(output_file_name)


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

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

使い方

  1. Pythonを実行する

実行コマンド

python csv2excel.py 入力フォルダ 出力ファイル名
python csv2excel.py input output.xlsx

openpyxlをインストールしていない場合は以下のコマンドでインストールして下さい。

pip install openpyxl