博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3.7中使用代码合并多个excel表格中的数据
阅读量:2051 次
发布时间:2019-04-28

本文共 1742 字,大约阅读时间需要 5 分钟。

毫无疑问,现在网上有很多关于用python操作Excel表格的例子,但是python更新很快,有些库也会跟着跟新,这就导致了之前发布的一些代码就不能再使用了。

在python3.7中已经不支持打开.xls的文件了,但是截止到2020年3月27日网上相关的操作代码中还是充斥着用python打开.xls文件的例子。在这里,就稍微的总结一下如何使用代码操作excel表格:合并多个表格中的全部数据到新的表格中。

相关版本

python 版本:3.7.0 xlrd库:1.2.0 xlsxwriter库:1.1.0

具体代码

import xlrdimport xlsxwriter#打开Excel文件def open_xlsx(file):    try:        fh = xlrd.open_workbook(file)        return fh    except exception as err:        print(str("error open:" + e))#获取sheet表def getsheet(fh):    return fh.sheets()#获取sheet表中的行数def getnrows(fh, sheet):    table = fh.sheets()[sheet]    content = table.nrows    return content#读取文件内容并返回行内容def getFilect(file, shnum):    fh = open_xlsx(file)    table = fh.sheets()[shnum]    num = table.nrows    for row in range(num):        rdata = table.row_values(row)        datavalue.append(rdata)    return datavalue#获取sheet表个数def getshnum(fh):    x = 0    sh = getsheet(fh)    for sheet in sh:        x += 1    return x#主程序if __name__ == '__main__':    allxlsx = ['E:/python/edit/program/sudoku/try01.xlsx',               'E:/python/edit/program/sudoku/try02.xlsx']    datavalue = []    for fl in allxlsx:        fh = open_xlsx(fl)        x = getshnum(fh)        for shnum in range(x):            print("正在读取文件:" + str(fl) + "的第" + str(shnum) + "个sheet表的内容.....")            rvalue = getFilect(fl, shnum)    endfile = 'E:/python/edit/program/sudoku/test01.xlsx'    wb1 = xlsxwriter.Workbook(endfile)    ws = wb1.add_worksheet()    for a in range(len(rvalue)):        for b in range(len(rvalue[a])):            c = rvalue[a][b]            ws.write(a, b, c)    wb1.close()    print("文件合并完成")

一般情况下运行以上代码就可以实现,但是博主在与运行的时候出现了找不到xlrd与xlsxwrier库的问题。

在检查、安装以上两个库之后还是没有解决问题,这个时候就需要找到这两个库的位置,之后复制到运行这个python脚本的同一个文件架中,之后在运行就可以了。

本文参考:

转载地址:http://rewlf.baihongyu.com/

你可能感兴趣的文章
Windows下wave API 音频采集
查看>>
借船过河:一个据说能看穿你的人性和欲望的心理测试
查看>>
AndroidStudio 导入三方库使用
查看>>
Ubuntu解决gcc编译报错/usr/bin/ld: cannot find -lstdc++
查看>>
解决Ubuntu14.04 - 16.10版本 cheese摄像头灯亮却黑屏问题
查看>>
解决Ubuntu 64bit下使用交叉编译链提示error while loading shared libraries: libz.so.1
查看>>
MFC程序添加console窗口+printf打印输出信息
查看>>
VS生成DLL文件供第三方调用
查看>>
Android Studio color和font设置
查看>>
android GLSurfaceView匹配屏幕宽度及视频宽高比设置view大小
查看>>
解决用android Studio开发不能去除标题栏的问题
查看>>
[Python] windows下360急速浏览器获取URL的Headers
查看>>
AndroidStudio 清除无用资源压缩项目大小
查看>>
AndroidStudio导入其他来源项目容易出现的问题
查看>>
VS解决error C2664: “DWORD GetCurrentDirectoryW(DWORD,LPWSTR)”: 无法将参数 2 从“char [260]”转换为“LPWSTR
查看>>
VS项目方便直接配置openCV环境
查看>>
VS项目方便直接配置openCV环境
查看>>
Vs 使用openCV 3.0+ 出错error C2872: “ACCESS_MASK”: 不明确的符号
查看>>
VS 使用#pragma 管理代码块
查看>>
VS判断windows动态链接库是x86还是x64(以vs2015为例)
查看>>