【Python】ExcelからCSVへ変換する
機能
フォルダ内にあるExcelをシートごとにCSVへ変換します。
実行前
実行後
サンプル動画
プログラム
#! python3 # 機能 # ExcelからCSVへ変換する # 使い方 # 1.Pythonを実行する # 実行コマンド # python excel2csv.py 入力フォルダ 出力フォルダ # python excel2csv.py input output import os import sys import csv import openpyxl # ExcelからCSVへ変換する関数 def excel2csv(input_folder, output_folder): os.makedirs(output_folder, exist_ok=True) # フォルダ内のExcelを探す for excel_file in os.listdir(input_folder): if not excel_file.lower().endswith(".xlsx"): continue print("Converting: " + excel_file + "...") wb = openpyxl.load_workbook(os.path.join(input_folder, excel_file)) # シートごとにCSVを作成する for sheet in wb.worksheets: file_name = excel_file[:-5] + "_" + sheet.title + ".csv" with open( os.path.join(output_folder, file_name), "w", newline="", encoding="utf-8", ) as csv_file: csv_writer = csv.writer(csv_file) # シートの1行ごとにCSVへ書き出す for row in range(1, sheet.max_row + 1): row_data = [] for col in range(1, sheet.max_column + 1): row_data.append(sheet.cell(row=row, column=col).value) csv_writer.writerow(row_data) if len(sys.argv) != 3: sys.exit("使い方:python excel2csv.py 入力フォルダ 出力フォルダ") excel2csv(sys.argv[1], sys.argv[2])
使い方
- Pythonを実行する
実行コマンド
python excel2csv.py 入力フォルダ 出力フォルダ python excel2csv.py input output
openpyxlをインストールしていない場合は以下のコマンドでインストールして下さい。
pip install openpyxl