動作確認環境
python3.6.1
pandasが必要。必要に応じて以下コマンドでインストールする。
pip install pandas
コード
import pandas as pd import sys def excel_to_csv(filename, target_sheet_index = None, target_folder = "./"): ''' エクセルで編集したデータをそれぞれのシート名でCSVに変換する Parameters ---------- filename: string 変換元のエクセルファイル target_sheet_index: list of int 何番目のシートを変換するかをリストで表記。 0番目から始まる。指定しない場合は全シートが選ばれる。 target_folder: string, default './' フォルダ名を指定して出力。 ''' excel_file = pd.ExcelFile(filename) sheetnames = excel_file.sheet_names excel_file.close() if target_sheet_index == None: target_sheet_index = range(len(sheetnames)) for i in target_sheet_index: try: data = pd.read_excel(filename, sheet_name = sheetnames[i]) output_file = target_folder + sheetnames[i] + '.csv' data.to_csv(output_file, index = False, date_format='%Y/%m/%d') print('convert success: ' + sheetnames[i]) except Exception as error: print(error) continue if __name__=="__main__": filename = sys.argv[1] try: target_sheet_num = int(sys.argv[2]) target_sheet_index = list(range(target_sheet_num)) except IndexError: target_sheet_index = None excel_to_csv(filename=filename, target_sheet_index=target_sheet_index, target_folder="./data/")