python自带xlrd和xlwt模块用来处理excel,但总觉得xlwt模块用着别扭,于是按自己的习惯重新封装了一个

  1. # coding=utf-
  2.  
  3. import xlrd # 读模块
  4. import xlwt # 写模块
  5.  
  6. def read_excel():
  7. """
  8. 读取excel文件方法说明(此函数只是对xlrd用法的说明,看看就好。xlrd已经很好用了)
  9. :return:
  10. """
  11. # 打开excel文件
  12. data = xlrd.open_workbook('123.xls')
  13.  
  14. # 获取文件内的表名
  15. print(data.sheet_names())
  16.  
  17. # 获取指定表的两种方法
  18. sh = data.sheet_by_index() # 索引法
  19. sh = data.sheet_by_name(u'Sheet1') # 表名法
  20.  
  21. # 获取表的行数
  22. print(sh.nrows)
  23. # 获取表的列数
  24. print(sh.ncols)
  25.  
  26. # 获取第29行的数据(0算第一行)
  27. print(sh.row_values())
  28. # 获取第2列的数据(0算第一列)
  29. print(sh.col_values())
  30. # 获取第1行、第2列的数据(相当于坐标)
  31. print(sh.cell(, ).value)
  32.  
  33. def write_excel(sheet_name, row0, datas, file_name):
  34. """
  35. 自己重新封装的写入excel表模块。以后要将数据写入excel直接调用此函数就行。此函数简单干净,使用方便。
  36. :param sheet_name: excel文件内的表名。例:Sheet1
  37. :param row0: 表内第一行的内容,为一个列表。例:[id, name, sex]
  38. :param datas: 实际要写入表内的数据,为一个列表,里面包含几个元素就写几行数据,其中每一个元素又为一个列表,里面对应这一行
  39. 每列的值。例:[[, '小龙女', 'girl'], [, '杨过', 'boy'], [, '周伯通', 'boy']]
  40. :param file_name: 最终生成的excel文件名。例:'test.xls'
  41. :return:
  42. """
  43. # 创建一个写对象实例
  44. f = xlwt.Workbook()
  45.  
  46. # 创建一个叫sheet_name的表名
  47. sheet1 = f.add_sheet(sheet_name, cell_overwrite_ok=True)
  48.  
  49. # 创建表sheet_name的第一行(即标题)
  50. for i in range(, len(row0)):
  51. sheet1.write(, i, row0[i])
  52.  
  53. # 从第二行开始写数据,datas有多少元素就写多少行
  54. for row in range(, len(datas) + ):
  55. # 遍历每行的每一列,row0有多少元素就遍历多少列
  56. for col in range(len(row0)):
  57. # 有了上面row,col提供的行号和列号就可以精确匹配一个单元格了,下面就开始往单元格里写数据了
  58. # row:行号,col:列号,datas[row-][col]:数据
  59. # 注:datas这个列表里一个元素为一行,由于是从第二行开始写的,所以想要取datas的第一个元素需row-
  60. # 注:datas这个列表里一个元素(列表)里的元素对应这行每列的值。
  61. # 例:[, '小龙女', 'girl'],1对应第1列的值,'小龙女'对应第2列的值,'girl'对应第三列的值
  62. sheet1.write(row, col, datas[row-][col])
  63.  
  64. f.save(file_name)
  65. print('已生成excel文件!')
  66.  
  67. if __name__ == '__main__':
  68. read_excel()
  69. write_excel(
  70. sheet_name='students',
  71. row0=['id', 'name', 'sex'],
  72. datas=[[, '小龙女', 'girl'], [, '杨过', 'boy'], [, '周伯通', 'boy']],
  73. file_name='test.xls'
  74. )

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. android上如何写配置文件

    android上如何写配置文件:使用SharedPreferences SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态 ...

  2. python中基本类型的连接组合和互相转换13种方式

    本篇总结了一下字符串,列表,字典,元组的连接组合使用和类型的互相转换小例子,尤其列表中的extend()方法和字典中的 update方法非常的常用. 1.连接两个字符串 a = "hello ...

  3. mysql中skip-grant-tables无效

    今天我登录MySQL时,MySQL竟然报出这样的错误:ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using pass ...

  4. SSH框架之Spring第二篇

    1.1 基于注解的IOC配置 既注解配置和xml配置要实现的功能都是一样的,都是要降低程序间的耦合.只是配置的形式不一样. 1.2 环境搭建 1.2.1 第一步:拷贝必备的jar包 需要多拷贝一个sp ...

  5. ES6-map数据结构,增加、删除、查找 方法(set get has delete clear ) 属性:size

    map数据结构: 本质上是键值对的集合,类似集合: 可以遍历,方法很多,可以跟各种数据格式转换. let json = { name:'ananiah', age:'18' } //效率低 需要遍历j ...

  6. python中 遇到的读取坑2.7和3.6版本的问题

    2.7读取,需要使用io.open 3.x使用open 使用io.open的时候路径需要使用\\ 目前io.open的文件名不能为中文

  7. Oracle - crfclust.bdb文件太大

    今天在检查oracle rac集群时,突然才发现服务器的根目录下面占用了很多空间,照道理不应该出现这种情况,初步猜想可能是哪个日志或跟踪文件太大导致.切换到跟目录,使用du -sh *来一层一层查看到 ...

  8. SQL Server通过条件搜索获取相关的存储过程等对象

    在SQL Server中,我们经常遇到一些需求,需要去搜索存储过程(Procedure).函数(Function)等对象是否包含某个对象或涉及某个对象,例如,我需要查找那些存储过程.函数是否调用了链接 ...

  9. mysql数据库基础SQL语句总结篇

    常用的sql增删改查语句 创建数据库:create database db_name character set utf8;删除数据库:drop database db_name;切换数据库:use ...

  10. js 运算的内置函数

    // 一.Math.round()作用:四舍五入返回整数.(返回参数+0.5后,向下取整) // Math.round(5.57) //返回6 // Math.round(2.4) //返回2 // ...