xlrd模块和xlwt模块使用案例:将多个.xlsx文件合并到一个文件里

知识基础

1、xlrd模块和xlswriter模块 用来操作excel文件**
(1) xlrd模块 读excel文件
打开文件指针:fh=xlrd.open_workbook()
注意:如果文件名中有中文,加r,分隔符用’’
返回所有工作表名: fh.sheet_names()
检查某个sheet是否导入完毕 fh.sheet_loaded(name or index)
获取所有工作表对象:fh.sheets()
获取工作表的个数:len(fh.sheets())
获取某个工作表:
table=fh.sheets()[0] **索引获取
table=fh.sheet_by_index(index) **索引获取
table=fh.sheet_by_name(name) **表名获取
对行操作
获取行数: table.nrows
返回某行所有单元格组成的列表 table.row(index) **格式[数据类型:值,数据类型:值]
table.row_values(index)
table.row_types(index)
对列操作 row->col
对单元格操作
获取某个单元格对象:table.cell(index,index) table.cell_value
table.cell_type
(2) xlwt模块 写excel文件
创建workbook:wbk=xlwt.Workbook(encoding=“utf-8”);
添加sheet:sheet=wbk.add_sheet(“表1”)
写入数据:sheet.write(0,0,“lanlan”);
保存:wbk.save(‘F:/UserFolder/Desktop/one.csv’)

代码展示:(合并excel文件)

import xlrd,xlwt
xlsx_all=["F:/UserFolder/Desktop/test1.xlsx","F:/UserFolder/Desktop/测试2.xlsx"];#待合并的文件

#定义函数 打开文件
def open_xlss(file):
    try:
        fh=xlrd.open_workbook(file);
        return fh;
    except Exception as ec:
        print(ec);
        
#获取某个文件某个sheet表内容
def getfile(fh,index):
    table=fh.sheet_by_index(index);
    nrows=table.nrows;#获取行数
    sheetdata=[];
    for i in range(nrows):
        rdata=table.row_values(i);#每行内容
        rvalue.append(rdata);
        sheetdata.append(rdata);#过渡
    filevalue.append(sheetdata);

rvalue=[]        #一行一行的存在列表里  二维
filevalue=[]    #一个sheet一个sheet存在列表里     三维
    
#正文
for j in range(len(xlsx_all)):
    fh=open_xlss(xlsx_all[j]);#打开第一个文件
    n=len(fh.sheets())#获取sheet数
    for i in range(n):
        getfile(fh,i);#调用函数
#写入:
wbk=xlwt.Workbook(encoding="utf-8");#打开工作攻坚
sheet=wbk.add_sheet("表1");#添加sheet表
nn=len(rvalue)#写入的行数
for i in range(nn):
    mm=len(rvalue[i]);#每一行的列数
    for j in range(mm):
        sheet.write(i,j,rvalue[i][j])#写入

wbk.save('F:/UserFolder/Desktop/one.csv');#保存


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值