Chinaunix首页 | 论坛 | 博客
  • 博客访问: 262255
  • 博文数量: 126
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1003
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
  • 认证徽章:
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(126)

文章存档

2019年(24)

2018年(17)

2017年(35)

2016年(50)

分类: Python/Ruby

2017-07-21 16:40:57

本文内容主要是:
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')#名字的2
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列的表格值1

5、打开将写的表并添加sheet

writebook = xlwt.Workbook()#打开一个
excel sheet = writebook.add_sheet('test')#在打开的excel中添加一个sheet1

6、将数据写入excel

 sheet.write(i,0,result[0])#写入excel,i行0列 sheet.write(i,1,result[1])1

7、记得保存

 writebook.save('answer.xls')#一定要记得保存 
  • 1

二、使用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内容1

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 3

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]1

7、记得保存

 outwb.save('answer.xlsx')#一定要记得保存 
阅读(925) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册