python简单处理excel方法
python自带xlrd和xlwt模块用来处理excel,但总觉得xlwt模块用着别扭,于是按自己的习惯重新封装了一个
- # coding=utf-
- import xlrd # 读模块
- import xlwt # 写模块
- def read_excel():
- """
- 读取excel文件方法说明(此函数只是对xlrd用法的说明,看看就好。xlrd已经很好用了)
- :return:
- """
- # 打开excel文件
- data = xlrd.open_workbook('123.xls')
- # 获取文件内的表名
- print(data.sheet_names())
- # 获取指定表的两种方法
- sh = data.sheet_by_index() # 索引法
- sh = data.sheet_by_name(u'Sheet1') # 表名法
- # 获取表的行数
- print(sh.nrows)
- # 获取表的列数
- print(sh.ncols)
- # 获取第29行的数据(0算第一行)
- print(sh.row_values())
- # 获取第2列的数据(0算第一列)
- print(sh.col_values())
- # 获取第1行、第2列的数据(相当于坐标)
- print(sh.cell(, ).value)
- def write_excel(sheet_name, row0, datas, file_name):
- """
- 自己重新封装的写入excel表模块。以后要将数据写入excel直接调用此函数就行。此函数简单干净,使用方便。
- :param sheet_name: excel文件内的表名。例:Sheet1
- :param row0: 表内第一行的内容,为一个列表。例:[id, name, sex]
- :param datas: 实际要写入表内的数据,为一个列表,里面包含几个元素就写几行数据,其中每一个元素又为一个列表,里面对应这一行
- 每列的值。例:[[, '小龙女', 'girl'], [, '杨过', 'boy'], [, '周伯通', 'boy']]
- :param file_name: 最终生成的excel文件名。例:'test.xls'
- :return:
- """
- # 创建一个写对象实例
- f = xlwt.Workbook()
- # 创建一个叫sheet_name的表名
- sheet1 = f.add_sheet(sheet_name, cell_overwrite_ok=True)
- # 创建表sheet_name的第一行(即标题)
- for i in range(, len(row0)):
- sheet1.write(, i, row0[i])
- # 从第二行开始写数据,datas有多少元素就写多少行
- for row in range(, len(datas) + ):
- # 遍历每行的每一列,row0有多少元素就遍历多少列
- for col in range(len(row0)):
- # 有了上面row,col提供的行号和列号就可以精确匹配一个单元格了,下面就开始往单元格里写数据了
- # row:行号,col:列号,datas[row-][col]:数据
- # 注:datas这个列表里一个元素为一行,由于是从第二行开始写的,所以想要取datas的第一个元素需row-
- # 注:datas这个列表里一个元素(列表)里的元素对应这行每列的值。
- # 例:[, '小龙女', 'girl'],1对应第1列的值,'小龙女'对应第2列的值,'girl'对应第三列的值
- sheet1.write(row, col, datas[row-][col])
- f.save(file_name)
- print('已生成excel文件!')
- if __name__ == '__main__':
- read_excel()
- write_excel(
- sheet_name='students',
- row0=['id', 'name', 'sex'],
- datas=[[, '小龙女', 'girl'], [, '杨过', 'boy'], [, '周伯通', 'boy']],
- file_name='test.xls'
- )
python简单处理excel方法的更多相关文章
- python简单操作excel
python操作excel 写入excel # 写入excel import xlwt # 创建xls对象 wb = xlwt.Workbook() # 新增两个表单页(sheet1) sh1 = w ...
- Python简单计算数组元素平均值的方法示例
Python简单计算数组元素平均值的方法示例 本文实例讲述了Python简单计算数组元素平均值的方法.分享给大家供大家参考,具体如下: Python 环境:Python 2.7.12 x64 IDE ...
- Python简单遍历字典及删除元素的方法
Python简单遍历字典及删除元素的方法 这篇文章主要介绍了Python简单遍历字典及删除元素的方法,结合实例形式分析了Python遍历字典删除元素的操作方法与相关注意事项,需要的朋友可以参考下 具体 ...
- Python简单爬虫入门三
我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
- python中读写excel并存入mysql
为了一个突如其来的想法:用python简单解决就好.现在算是把这个项目需要的基础功能坑都填完了.剩下就是AI和数据展示方面的坑了. 今天遇到的坑是: 1.从excel读出的中文是乱码 2.中文写入my ...
- Python读写操作Excel模块_xlrd_xlwt_xlutils
Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...
- python简单面试题
在这个即将进入金9银10的跳槽季节的时候,肯定需要一波面试题了,安静总结了一些经常遇到的python面试题,让我们一起撸起来. python面试题 1.求出1-100之间的和 # coidng:utf ...
- Python“文件操作”Excel篇(上)
大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...
随机推荐
- android上如何写配置文件
android上如何写配置文件:使用SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态 ...
- python中基本类型的连接组合和互相转换13种方式
本篇总结了一下字符串,列表,字典,元组的连接组合使用和类型的互相转换小例子,尤其列表中的extend()方法和字典中的 update方法非常的常用. 1.连接两个字符串 a = "hello ...
- mysql中skip-grant-tables无效
今天我登录MySQL时,MySQL竟然报出这样的错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using pass ...
- SSH框架之Spring第二篇
1.1 基于注解的IOC配置 既注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦合.只是配置的形式不一样. 1.2 环境搭建 1.2.1 第一步:拷贝必备的jar包 需要多拷贝一个sp ...
- ES6-map数据结构,增加、删除、查找 方法(set get has delete clear ) 属性:size
map数据结构: 本质上是键值对的集合,类似集合: 可以遍历,方法很多,可以跟各种数据格式转换. let json = { name:'ananiah', age:'18' } //效率低 需要遍历j ...
- python中 遇到的读取坑2.7和3.6版本的问题
2.7读取,需要使用io.open 3.x使用open 使用io.open的时候路径需要使用\\ 目前io.open的文件名不能为中文
- Oracle - crfclust.bdb文件太大
今天在检查oracle rac集群时,突然才发现服务器的根目录下面占用了很多空间,照道理不应该出现这种情况,初步猜想可能是哪个日志或跟踪文件太大导致.切换到跟目录,使用du -sh *来一层一层查看到 ...
- SQL Server通过条件搜索获取相关的存储过程等对象
在SQL Server中,我们经常遇到一些需求,需要去搜索存储过程(Procedure).函数(Function)等对象是否包含某个对象或涉及某个对象,例如,我需要查找那些存储过程.函数是否调用了链接 ...
- mysql数据库基础SQL语句总结篇
常用的sql增删改查语句 创建数据库:create database db_name character set utf8;删除数据库:drop database db_name;切换数据库:use ...
- js 运算的内置函数
// 一.Math.round()作用:四舍五入返回整数.(返回参数+0.5后,向下取整) // Math.round(5.57) //返回6 // Math.round(2.4) //返回2 // ...