python中使用xlrd、xlwt库以及openpyxl库读写excel浅析
来源:互联网 发布:java方法名长度 编辑:程序博客网 时间:2024/05/21 18:00
本文内容主要是:
1、python中使用xlrd、xlwt库读写excel(xls)浅析
2、python中使用openpyxl库读写excel(xlsx)浅析(亲测推荐使用openpyxl库,解决了问题:ValueError: row index was 65536, not allowed by .xls format )
官方文档
本来这个内容是要写在这篇文章的windows下python3.5安装setuptools以及百度坐标系(bd-09)、火星坐标系(国测局坐标系、gcj02)、WGS84坐标系之间的坐标互转python实现以及python中exce,但是我觉得那篇文章内容太多了,所以就拿出来单独写。
这次我使用python读写excel主要需要的函数功能是,所以我是有目的的去获取这几个函数的使用方法:
1、读取excel文件(读函数)
2、获取总的excel行数(获取总行数的函数)
3、行数内遍历获取每一个单元格的数据(获取单元格的函数)
4、写excel文件(写函数)
一、使用xlrd、xlwt库读写excel
xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535,如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576。
如果数据量超过65535就会遇到:ValueError: row index was 65536, not allowed by .xls format
1、打开excel
readbook = xlrd.open_workbook(r'\test\canying.xlsx')
2、获取读入的文件的sheet
sheet = readbook.sheet_by_index(1)#索引的方式,从0开始sheet = readbook.sheet_by_name('sheet2')#名字的方式
3、获取sheet的最大行数和列数
nrows = sheet.nrows#行ncols = sheet.ncols#列
4、获取某个单元格的值
lng = table.cell(i,3).value#获取i行3列的表格值lat = table.cell(i,4).value#获取i行4列的表格值
5、打开将写的表并添加sheet
writebook = xlwt.Workbook()#打开一个excelsheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet
6、将数据写入excel
sheet.write(i,0,result[0])#写入excel,i行0列 sheet.write(i,1,result[1])
7、记得保存
writebook.save('answer.xls')#一定要记得保存
整体code:
def read_excel(): # 打开文件 readbook = xlrd.open_workbook(r'C:\Users\Alan Kong\Desktop\经纬度转换\coordTransform_py-master\test\canying.xlsx') writebook = xlwt.Workbook()#打开一个excel sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet table = readbook.sheets()[0]#获取读入的文件的第一个sheet nrows = table.nrows#获取sheet的行数 #print (nrows) for i in range(nrows): if i == 0:#我处理的数据第一行是属性名,所以去掉 continue lng = table.cell(i,3).value#获取i行3列的表格值 lat = table.cell(i,4).value#获取i行4列的表格值 result = gcj02towgs84(lng,lat)#引用转换函数 print(i) sheet.write(i,0,result[0])#写入excel sheet.write(i,1,result[1]) writebook.save('answer.xls')#一定要记得保存
二、使用openpyxl库读写excel
1、打开excel
filename = r'\shenghuo.xlsx'inwb = load_workbook(filename)#读文件
2、获取打开的excel的sheet内容
sheetnames = inwb.get_sheet_names()#获取读文件中所有的sheet,通过名字的方式ws = inwb.get_sheet_by_name(sheetnames[0])#获取第一个sheet内容
3、获取sheet的最大行数和列数
rows = ws.max_row#获取读取的excel的文件的行数
4、获取某个单元格的值
lng = ws.cell(row = i+1 , column = 4).value#读文件lat = ws.cell(row = i+1 , column = 5).value
5、打开将写的表并添加sheet
outwb = Workbook()#打开一个将写的文件 outws = outwb.create_sheet(title="cool")#在将写的文件创建sheet
6、将数据写入sheet
outws.cell(row = i+1 , column = 1).value = result[0]#写文件 outws.cell(row = i+1 , column = 2).value = result[1]
7、记得保存
outwb.save('answer.xlsx')#一定要记得保存
整体来一个:
def read_excel(): filename = r'C:\Users\user\Desktop\coordTransform_py-master\test\shenghuo.xlsx' inwb = load_workbook(filename)#读文件 outwb = Workbook()#打开一个将写的文件 outws = outwb.create_sheet(title="cool")#在将写的文件创建sheet sheetnames = inwb.get_sheet_names()#获取读文件中所有的sheet,通过名字的方式 ws = inwb.get_sheet_by_name(sheetnames[0])#获取第一个sheet内容 rows = ws.max_row#获取读取的excel的文件的行数 print(rows) for i in range(rows): lng = ws.cell(row = i+1 , column = 4).value#读文件 lat = ws.cell(row = i+1 , column = 5).value result = gcj02towgs84(lng,lat)#引用函数 print(i) outws.cell(row = i+1 , column = 1).value = result[0]#写文件 outws.cell(row = i+1 , column = 2).value = result[1] outwb.save('answer.xlsx')#一定要记得保存
分享一个照片
- python中使用xlrd、xlwt库以及openpyxl库读写excel浅析
- 使用xlrd/xlwt,openpyxl库处理Excel的例子
- python库之xlwt+xlrd+openpyxl
- python中使用xlrd、xlwt读写excel(xls格式)
- python操作Excel读写--使用xlrd/xlwt
- Python.xlrd&xlwt -- Excel读写
- Python xlrd xlwt读写Excel
- python中使用xlrd、xlwt操作excel
- python写excel文件,openpyxl, xlrd, xlwt,xlutils
- Python操作excel的几种方式--xlrd、xlwt、openpyxl
- python excel xlwt xlrd 库阅读
- Python中excel读写模块简介---xlrd、xlwt模块
- python excel 的相关操作(使用 xlrd xlwt 读写)
- 使用python读写操作同一个excel(xlrd,xlwt,xlutils)
- 使用Python xlrd与xlwt模块读写Excel
- 用python读写excel(xlrd、xlwt)
- Python操作Excel读写--xlrd、xlwt模块
- Python简单读写Excel (xlwt, xlrd, xlutils)
- Bootstrap3 栅格系统-实例:移动设备和桌面屏幕
- iOS -- 倒计时获取验证码
- 第十三周 图项目一(2)
- 第十三周项目3-Dijkstra算法的验证
- js给文本框动态绑定onblur方法,失焦的时候触发
- python中使用xlrd、xlwt库以及openpyxl库读写excel浅析
- 【第十三周 项目3-Dijkstra算法的验证】
- 第十二周 项目5 - 迷宫问题之图深度优先遍历解法
- sublime text 2中Emmet8个常用的技巧
- 正则化最小二乘法——神经网络与机器学习笔记2
- 第十二周 项目2:操作用邻接表存储的图
- numpy模块的使用代码
- 数据结构学习笔记3
- Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.6