PYTHON-把一个多sheet excel拆分成单个csv文件

师父交给的任务,
做一个脚本
把一个多sheet excel拆分成单个csv文件,csv命名为sheet名
有个注意点是 2csv中文有乱码,
改为 encoding='utf-8-sig'后修复

#!/usr/bin/python
# -*- coding: utf-8 -*-
import xlrd
import pandas as pd
import os
def excel2csv(excel_file):
    # 打开excel文件
    workbook=xlrd.open_workbook(excel_file)
    # 获取所有sheet名字
    sheet_names=workbook.sheet_names()
    dir_path=os.path.abspath(os.path.dirname(excel_file))
    # 获取excel当前目录
    csv_path=dir_path+'\\csv\\'
    #if not os.path.exists(csv_path):
    os.mkdir(csv_path)   
    # 在excel所在目录下新建csv文件夹
    for worksheet_name in sheet_names:
        # 遍历每个sheet并用Pandas读取
        data_xls=pd.read_excel(excel_file,worksheet_name,index_col=None)
        data_xls.to_csv(csv_path+worksheet_name+'.csv',encoding='utf-8-sig')
        #把每个sheet分别存为一个csv文件
        #data_xls.to_csv(csv_path+worksheet_name+'.csv',index=None,encoding='utf-8')
        #data_xls.to_excel(csv_path+worksheet_name+'.xlsx',index=None,encoding='utf-8')
        #data_xls.to_excel(str(worksheet_name)+".xls", sheet_name=worksheet_name, index = False)
#测试        
#excel2csv(r'D:\project\py_prj\L022-FPGA.xlsx')

你可能感兴趣的:(PYTHON)