师父交给的任务,
做一个脚本
把一个多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')