python中使用xlrd、xlwt操作excel表格详解

本文详细介绍了使用Python的xlrd和xlwt库进行Excel文件的读写操作,包括处理日期、合并单元格等内容。通过示例代码展示了如何读取Excel中的日期,如何读取和写入合并单元格,以及如何获取合并单元格的信息。
摘要由CSDN通过智能技术生成

欢迎加入Python学习交流QQ群:535993938  禁止闲聊 ! 名额有限 ! 非喜勿进 !

python读excel——xlrd

这个过程有几个比较麻烦的问题,比如读取日期、读合并单元格内容。下面先看看基本的操作:

首先读一个excel文件,有两个sheet,测试用第二个sheet,sheet2内容如下:

python 对 excel基本的操作如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# -*- coding: utf-8 -*-
import  xlrd
import  xlwt
from  datetime import  date,datetime
  
def  read_excel():
   # 打开文件
   workbook =  xlrd.open_workbook(r 'F:\demo.xlsx' )
   # 获取所有sheet
   print  workbook.sheet_names() # [u'sheet1', u'sheet2']
   sheet2_name =  workbook.sheet_names()[ 1 ]
  
   # 根据sheet索引或者名称获取sheet内容
   sheet2 =  workbook.sheet_by_index( 1 ) # sheet索引从0开始
   sheet2 =  workbook.sheet_by_name( 'sheet2' )
  
   # sheet的名称,行数,列数
   print  sheet2.name,sheet2.nrows,sheet2.ncols
  
   # 获取整行和整列的值(数组)
   rows =  sheet2.row_values( 3 ) # 获取第四行内容
   cols =  sheet2.col_values( 2 ) # 获取第三列内容
   print  rows
   print  cols
  
   # 获取单元格内容
   print  sheet2.cell( 1 , 0 ).value.encode( 'utf-8' )
   print  sheet2.cell_value( 1 , 0 ).encode( 'utf-8' )
   print  sheet2.row( 1 )[ 0 ].value.encode( 'utf-8' )
    
   # 获取单元格内容的数据类型
   print  sheet2.cell( 1 , 0 ).ctype
  
if  __name__ = =  '__main__' :
   read_excel()

运行结果如下:

那么问题来了,上面的运行结果中红框框中的字段明明是出生日期,可显示的确实浮点数。好的,来解决第一个问题:

1、python读取excel中单元格内容为日期的方式

python读取excel中单元格的内容返回的有5种类型,即上面例子中的ctype:

1
ctype : 0  empty, 1  string, 2  number, 3  date, 4  boolean, 5  error

即date的ctype=3,这时需要使用xlrd的xldate_as_tuple来处理为date格式,先判断表格的ctype=3时xldate才能开始操作。现在命令行看下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>> sheet2.cell( 2 , 2 ).ctype #1990/2/22
>>> sheet2.cell( 2 , 1 ).ctype #24
>>> sheet2.cell(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值