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 ...
随机推荐
- Docker + WordPress搭建个人博客
WordPress是目前非常受欢迎的开源博客系统,今天使用Docker + WordPress搭建个人博客,整个过程非常丝滑. 搭博客先要准备域名和服务器,昨天在阿里云买了个.top的域名花了5块钱( ...
- C语言——线性表及其应用
程序要求 1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度.2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68.3.建立一 ...
- MySQL 排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题
排错-解决MySQL非聚合列未包含在GROUP BY子句报错问题 By:授客 QQ:1033553122 测试环境 win10 MySQL 5.7 问题描述: 执行类似以下mysql查询, SEL ...
- reduce方法实现累加累乘的方式
reduce函数对参数序列中的值进行积累,第二个参数可以为:str,tuple,list,代码示例如下: from functools import reduce#实现列表内的所有数的累加,即第一步x ...
- 使用hutool进行二维码制作
2.在IDEA中使用代码块生成二维码
- nginx基础(3)
目录 HTTP首部 1.通用首部 2.请求首部 2.1 必有首部 2.2 条件请求首部 2.3 安全相关首部 3.响应首部 3.1 必有首部 3.2 协商首部 3.3 安全相关首部 4.实体首部 4. ...
- 浅谈python面向对象编程和面向过程编程的区别
面向过程:分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用的时候再一个个的依次调用即可. 优点:性能高 缺点:相较于面向对象而言,不易维护,不易复用,不易扩展 适合于小型的项目面向对象 ...
- 对于文本生成类4种评价指标的的计算BLEU METEOR ROUGE CIDEr
github下载链接:https://github.com/Maluuba/nlg-eval 将下载的文件放到工程目录,而后使用如下代码计算结果 具体的写作格式如下: from nlgeval imp ...
- 【SQL】多表查询中的 外连接 ,on,where
先简单粗暴给个结论,多表连结查询中,on比where更早起作用,系统首先根据各个表之间的联接条件,把多个表合成一个临时表后,再由where进行匹配过滤,where后语句为真,则能查询出来,而通过外连接 ...
- Spring Security从后台数据库查询实现登陆控制
Spring Security框架是一个控制登陆的框架,通过配置文件获取后台的用户名及密码,进行比较进行登陆判断 使用步骤 1.导入依赖 <!-- 身份验证 --> <depende ...