因为excel2013打开文件时经常出现“正在联系......”大约需要半小时左右才能打开,所以就想不用excel打开,直接用python把excel转换为csv后再打开。网上搜了一下,大部分解决方案是用pandas,代码非常简洁:
import pandas as pd
data = pd.read_excel('1.xlsx',sheet_name=0,index_col=0)
data.to_csv('1.csv',encoding='utf-8')
pandas代码真是太简洁了,可是实际使用时却发现,pandas只能读取excel的第一个sheet,不管sheet_name赋几,保存的csv都是第一个sheet的内容。查了很多资料也没能解决这个问题。
换个思路吧,Python读取excel还有另外一种方式就是xlrd(写入excel是xlwt),经过努力xlrd终于成功读取并保存了所有sheet,代码如下:
import xlrd
import csv
import codecs
import argparse
import os
import time
def args_parse():
# construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument("-f", "--file",
required=True,
help="excel file name")
args = vars(ap.parse_a