1.場景
1個Excel文件中包含很多個sheet,需要將每個sheet數據單獨導出成csv,手動轉換實在太麻煩,就寫了個腳本。思路也很簡單,就是遍歷每一個sheet然後用pandas的to_csv()方法完成轉換
2.Code
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()
for worksheet_name in sheet_names:
# 遍歷每個sheet並用Pandas讀取
data_xls=pd.read_excel(excel_file,worksheet_name,index_col=None)
# 獲取excel當前目錄
dir_path=os.path.abspath(os.path.dirname(excel_file))
# 轉換成csv並保存到excel所在目錄下的csv文件夾中
csv_path=dir_path+'\\csv\\'
if not os.path.exists(csv_path):
os.mkdir(csv_path)
data_xls.to_csv(csv_path+worksheet_name+'.csv',index=None,encoding='utf-8')
excel2csv(r'G:\Document\文件.xlsx')
參考blog:
https://blog.csdn.net/lucy82910/article/details/80308272