一、安装xlrd
下载后,使用 pip install .whl
安装即好。
查看帮助:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
>>> import xlrd >>> help(xlrd) Help on package xlrd: NAME xlrd PACKAGE CONTENTS biffh book compdoc formatting formula info licences sheet timemachine xldate xlsx FUNCTIONS count_records(filename, outfile=<idlelib.PyShell.PseudoOutputFile object at 0x0287E730>) dump(filename, outfile=<idlelib.PyShell.PseudoOutputFile object at 0x0287E730>, unnumbered=False) open_workbook(filename=None, logfile=<idlelib.PyShell.PseudoOutputFile object at 0x0287E730>, verbosity=0, use_mmap=1, file_contents=None, encoding_override=None, formatting_info=False, on_demand=False, ragged_rows=False) DATA FMLA_TYPE_ARRAY = 4 FMLA_TYPE_CELL = 1 FMLA_TYPE_COND_FMT = 8 FMLA_TYPE_DATA_VAL = 16 FMLA_TYPE_NAME = 32 FMLA_TYPE_SHARED = 2 MMAP_AVAILABLE = 1 USE_MMAP = 1 XL_CELL_BLANK = 6 XL_CELL_BOOLEAN = 4 XL_CELL_DATE = 3 XL_CELL_EMPTY = 0 XL_CELL_ERROR = 5 XL_CELL_NUMBER = 2 XL_CELL_TEXT = 1 __VERSION__ = '1.0.0' biff_text_from_num = {0: '(not BIFF)' , 20: '2.0' , 21: '2.1' , 30: '3' , ... empty_cell = empty: '' error_text_from_code = {0: '#NULL!' , 7: '#DIV/0!' , 15: '#VALUE!' , 23: ... oBOOL = 3 oERR = 4 oNUM = 2 oREF = -1 oREL = -2 oSTRG = 1 oUNK = 0 okind_dict = {-2: 'oREL' , -1: 'oREF' , 0: 'oUNK' , 1: 'oSTRG' , 2: 'oNUM' ... FILE c:\python34\lib\site-packages\xlrd\__init__.py |
通过上述方法可以查看xlrd的帮助信息,里面有xlrd包中的一些模块以及一些成员变量、常量、函数。
二、python处理Excel表格
1、打开Excel表
1
2
3
4
5
6
7
8
9
10
11
|
import xlrd # 获取一个Book对象 book = xlrd.open_workbook( "1.xls" ) # 获取一个sheet对象的列表 sheets = book.sheets() # 遍历每一个sheet,输出这个sheet的名字(如果是新建的一个xls表,可能是sheet1、sheet2、sheet3) for sheet in sheets: print (sheet.name) |
上面的帮助信息出现了这个函数:open_workbook()
,打开工作簿,这就打开了Excel表。
返回的是一个Book对象,通过Book对象我们可以获得一个Sheet的列表,上面的程序就简单地把每个sheet的名字都输了出来。
2、读出指定单元格内的数据
1
2
3
4
5
6
7
8
9
10
11
|
import xlrd # 获取一个Book对象 book = xlrd.open_workbook( "1.xls" ) # 获取一个sheet对象的列表 sheets = book.sheets() # 遍历每一个sheet,输出这个sheet的名字(如果是新建的一个xls表,可能是sheet1、sheet2、sheet3) for sheet in sheets: print (sheet.cell_value( 0 , 0 )) |
读出单元格内数据函数 cell_value(row, col)
,行列均从0起。
除此之外,可以通过:
1
2
|
sheet.cell(row, col) # 获取单元格对象 sheet.cell_type(row, col) # 获取单元格类型 |
3、读取日期数据
如果Excel存储的某一个单元格数据是日期的话,需要进行一下处理,转换为datetime
类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
from datetime import datetime from xlrd import xldate_as_tuple # 获取一个Book对象 book = xlrd.open_workbook( "1.xls" ) # 获取一个sheet对象的列表 sheets = book.sheets() timeVal = sheets[ 0 ].cell_value( 0 , 0 ) timestamp = datetime( * xldate_as_tuple(timestamp, 0 )) print (timestamp) |
4、遍历每行的数据
1
2
3
|
rows = sheet.get_rows() for row in rows: print (row[ 0 ].value) # 输出此行第一列的数据 |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。