python处理excel的模块,xlrd读取excel,xlwt写入excel

一、安装

pip install xlrd

二、使用

1. 打开excel,得到Book对象

import xlrd
rb = xlrd.open_workbook(r'E:\python\test.xlsx', formatting_info=True)
# excel文件被打开为一个Book对象,即 rb(xlrd.book.Book类)
sheets = rb.sheet_names()
# 获取Book对象的属性:包含所有sheet表名的列表(xlrd.book.Book.sheet_names)

2. 指定sheet工作表(基于Book对象),得到Sheet对象

sheet1 = rb.sheet_by_index(0)
# 通过索引获取第0个工作表,并打开为Sheet对象(xlrd.sheet.Sheet类)
sheet2 = rb.sheet_by_name('sheet2')
# 直接通过工作表名称打开为Sheet对象,如果打开的是同一个表,则和上面的方法获取到的对象完全等价==

3. Sheet对象的属性

print(sheet1.name, sheet1.nrows, sheet1.ncols)
# sheet1的名称、行数、列数
print(sheet1.row_values(0), sheet1.col_values(0), sheet1.cell_value(0, 0))
# sheet1的某一行/某一列所有值的列表,某行某列的值

4. Cell对象(基于Sheet对象)的属性

cell_0_0 = sheet1.cell(0, 0)
# sheet1的某行某列的Cell对象(xlrd.sheet.Cell类)
row_0 = sheet1.row(0)
col_0 = sheet1.col(0)
# sheet1的某一行/某一列所有cell对象的列表
print(cell_0_0.value)
# cell_0_0对象的值
print(cell_0_0.ctype)
# cell_0_0对象的类型
# _0 empty, 1 string, 2 number, 3 date, 4 boolean, 5 error

5. 日期的处理

excel中的日期时间通过xlrd读取到数据后,会转换成一串数字
2018/07/10会转换为43291.0
2018/7/10 18:15:02 会转换成43291.76043981482
cell_0_0_tuple = xlrd.xldata_as_tuple(cell_0_0.value, datemode=0)
# 首先要判断ctype属于日期,然后才能转换为tuple(年,月,日,时,分,秒)
# datemode在此处的含义是从1900年开始,如果等于1,则是从1904年开始(使用0即可) from datetime import datetime, date
date(*cell_0_0_tuple[:3]).strftime('%Y/%m/%d')
# 使用date模块,将tuple的年月日转换为date对象(只支持三位参数),使用strftime方法格式化。

6. 合并单元格数据处理

merged = sheet1.merged_cells

返回结果是一个由tuple组成的list,每个tuple含四个元素,形成一个合并单元格的矩阵。
[(rl1, rh1, cl1, ch1), (rl2, rh2, cl1, ch2)] ; l为开始,h-1为结束
(4,5,1,3), 合并了第4行(实际第五行,不赘述)到第4行,第1列到第2列的数据。

python模块之xlrd的更多相关文章

  1. python模块之xlrd(excl调用模块)

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...

  2. python 模块:xlrd && xlwt

    主要来自:http://www.jb51.net/article/60510.htm python读excel--xlrd 这个过程有几个比较麻烦的问题,比如读取日期.读合并单元格内容.下面先看看基本 ...

  3. Python 模块之 xlrd (Excel文件读写)

    # 1. 导入模块 import xlrd # 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') # 3. 使用技巧 # 3.1 获 ...

  4. python模块之xlrd,xlwt,读写execl(xls,xlsx)

    安装xlrd,xlwt pip install xlrd xlwt xlrd读取execl [环境ipython python2.7.5] import xlrd book = xlrd.open_w ...

  5. Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合

    今天,接到一个任务,要生成大约两百个excel文件,从2006年到2013年,每个月两个文件,这些文件中除了几个关于日期的单元格不同外,其他数据都相同,所以就想到可以用python写一个小脚本,自动生 ...

  6. python里面的xlrd模块详解(一)

    那我就一下面积个问题对xlrd模块进行学习一下: 1.什么是xlrd模块? 2.为什么使用xlrd模块? 3.怎样使用xlrd模块? 1.什么是xlrd模块? python操作excel主要用到xlr ...

  7. python模块:xlsxwriter和xlrd相结合读取、写入excel文件

    python模块简单说明: xlsxwriter:负责写入数据 xlrd:负责读取数据 xlsxwriter 官方文档:http://xlsxwriter.readthedocs.org 本实例是刚写 ...

  8. python里面的xlrd模块

    ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 今天就先来说一下xlrd模块: 一.安装xlrd模块 ♦ 到python官网下载 ...

  9. python模块:xlsxwriter和xlrd相结合读取

    python模块简单说明: xlsxwriter:负责写入数据 xlrd:负责读取数据 xlsxwriter 官方文档:http://xlsxwriter.readthedocs.org 本实例是刚写 ...

随机推荐

  1. WebApi使用JWT认证

    https://www.cnblogs.com/wangyulong/p/8727683.html https://blog.csdn.net/kebi007/article/details/7286 ...

  2. 工作随笔——获取当前Java程序PID

    小知识,记录下: JVM:1.8 // spring boot 中可以使用 String pid = ManagementFactory.getRuntimeMXBean().getSystemPro ...

  3. python操作excel及json

    有一个存着学生成绩的文件:stuscore.txt,里面存的是json串,json串读起来特别不直观,需要你写代码把它都写到excel中,并计算出总分和平均分,json格式如下: { ":[ ...

  4. 房屋贷款计算器 Mortgage Calculator

    闲暇时间开发了一款工具 - 房屋贷款计算器 Mortgage Calculator 有需要的可以下载来试试. JACK NJ @ 2017

  5. springBoot的搭建使用记录

    一: 首次搭建:https://blog.csdn.net/u013187139/article/details/68944972 整合mybatis: https://www.jianshu.com ...

  6. 【转】如何用css限制文字长度,使溢出的内容用省略号…显示

    文章转自这里(现在貌似被黑了,建议不要点击了) ps:因在该地方没看到转载按钮,复制下存到这里以待自己方便,别人能看到帮助一下更是乐意之至,效果亲测可以实现,兼容IE.谷歌.火狐 由于文字内容长度的不 ...

  7. 【5】JMicro微服务-熔断降级

    如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl   1. 使用服务熔断降级特性,必须先启动Pubsub服务,服务监听服务,熔断器服务3个服务 先启动Pubsub及服务监听两 ...

  8. 关于如何食用Xcode——用mac的小蒟蒻

    前言QwQ 对于一只用Mac的小蒟蒻,没有Dev_c++简直太难受了,用在线IDE写代码又没法保存,那么我们怎么办呢? 好在App Store里有这个好东西 所以我们今天来介绍一下 “如何使用Xcod ...

  9. 读书笔记(03) - 性能 - JavaScript高级程序设计

    作用域链查找 作用域链的查找是逐层向上查找.查找的层次越多,速度越慢.随着硬件性能的提升和浏览器引擎的优化,这个慢我们基本可以忽略. 除了层级查找损耗的问题,变量的修改应只在局部环境进行,尽量避免在局 ...

  10. jquery控制input只能输入数字和两位小数

    jquery代码 function num(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //清除"数字" ...