python 读取excel的所有工作表并保存为csv

由于使用Excel2013打开文件时常遇到长时间等待问题,作者选择使用Python进行转换。尝试使用pandas读取Excel文件但发现只能读取第一个工作表。之后改用xlrd库,成功实现读取Excel所有工作表并保存为CSV。执行代码通过命令行参数指定Excel文件,保存的CSV文件名以原文件名和工作表名为前缀。需要注意不同Excel版本打开CSV文件的字符集设置。
摘要由CSDN通过智能技术生成

因为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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值