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方法的更多相关文章

  1. python简单操作excel

    python操作excel 写入excel # 写入excel import xlwt # 创建xls对象 wb = xlwt.Workbook() # 新增两个表单页(sheet1) sh1 = w ...

  2. Python简单计算数组元素平均值的方法示例

    Python简单计算数组元素平均值的方法示例 本文实例讲述了Python简单计算数组元素平均值的方法.分享给大家供大家参考,具体如下: Python 环境:Python 2.7.12 x64 IDE ...

  3. Python简单遍历字典及删除元素的方法

    Python简单遍历字典及删除元素的方法 这篇文章主要介绍了Python简单遍历字典及删除元素的方法,结合实例形式分析了Python遍历字典删除元素的操作方法与相关注意事项,需要的朋友可以参考下 具体 ...

  4. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  5. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  6. python中读写excel并存入mysql

    为了一个突如其来的想法:用python简单解决就好.现在算是把这个项目需要的基础功能坑都填完了.剩下就是AI和数据展示方面的坑了. 今天遇到的坑是: 1.从excel读出的中文是乱码 2.中文写入my ...

  7. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  8. python简单面试题

    在这个即将进入金9银10的跳槽季节的时候,肯定需要一波面试题了,安静总结了一些经常遇到的python面试题,让我们一起撸起来. python面试题 1.求出1-100之间的和 # coidng:utf ...

  9. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

随机推荐

  1. 关联mysql失败_Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'

    关联mysql失败_Server returns invalid timezone. Go to ‘Advanced’ tab and set ‘serverTimezon’ 时区错误,MySQL默认 ...

  2. 【BZOJ 2138】stone

    Problem Description 话说 \(Nan\) 在海边等人,预计还要等上 \(M\) 分钟.为了打发时间,他玩起了石子. \(Nan\) 搬来了 \(N\) 堆石子,编号为 \(1\) ...

  3. 一个有意思的自我介绍PPT快闪

    模版来源:http://ppt.dede58.com/peixunyanjiang/27066.html

  4. C lang: VLA(variable-length array)

    Xx_VLA Introduction VLA:variable-length array,not variable array size,but variable arary dimensional ...

  5. 【Beta阶段】第十二周Scrum会议

    [Beta阶段]第十二周Scrum会议 本次会议为第十二周第一次Scrum Meeting,会议对Beta阶段工作进行了总结,针对Beta阶段还未完成的问题进行了讨论. 会议时间为2019.12.3. ...

  6. centos7中安装python3.6.4

    1.在安装Python之前,需要先安装一些后面遇到的依赖问题(如果有依赖问题,按照提示安装): yum -y install zlib-devel bzip2-devel openssl-devel ...

  7. SQL Server 之事务执行,让语句在事务中执行

    BEGIN TRAN     BEGIN  TRY DELETE FROM dbo.表 INSERT INTO  dbo.表(    Id,   字段....) SELECTId,字段...    F ...

  8. 第K个语法符号

    在第一行我们写上一个 0.接下来的每一行,将前一行中的0替换为01,1替换为10. 给定行数 N 和序数 K,返回第 N 行中第 K个字符.(K从1开始) 例子: 输入: N = 1, K = 1输出 ...

  9. 《IM开发新手入门一篇就够:从零开发移动端IM》

        登录 立即注册 TCP/IP详解 资讯 动态 社区 技术精选 首页   即时通讯网›专项技术区›IM开发新手入门一篇就够:从零开发移动端IM   帖子 打赏 分享 发表评论162     想开 ...

  10. 洛谷 SP263 Period

    洛谷 SP263 Period 题目描述 For each prefix of a given string S* with N* characters (each character has an ...