Python读取Excel数据

  今天一同学给我发来一个Excel文件,让我帮他找一些信息,打开一开 8000多条数据。自己手工处理是不可能完成的的啦。作为一名程序员,当然要用程序来处理。处理生活中的问题当然是Python最为方便啦。利用万能的 Google 搜索 Python Excel,点击第一条结果http://www.python-excel.org/ ,发先这个东西 能够跨平台处理 Excel。废话不多说,按照文档一步步去做,要安装 三个包 xlrd(用于读Excel), xlwt(用于写Excel),xlutils(处理Excel的工具箱)。

  上面的英文文档很齐全,这里就不多说了,因为我只需要获取Excel里面的数据,所以只要简单的读取出来。

 1 from xlrd import open_workbook
 2 import re
 3 
 4 #创建一个用于读取sheet的生成器,依次生成每行数据,row_count 用于指定读取多少行, col_count 指定用于读取多少列
 5 def readsheet(s, row_count=-1, col_cout=-1):#
 6     # Sheet 有多少行
 7     nrows = s.nrows
 8     # Sheet 有多少列
 9     ncols = s.ncols
10     row_count = (row_count if row_count > 0 else nrows)
11     col_count = (col_count if col_count > 0 else ncols)
12     row_index = 0
13     while row_index < row_count:
14         yield [s.cell(row_index, col).value for col in xrange(col_count)]
15         row_index += 1
16 
17 wb = open_workbook('simple.xls') #打开Excel文件
18 # 读取Excel中所有的Sheet
19 for s in wb.sheets():
20     for row in readsheet(s, 10, 10):# 只读取每个Sheet的前10行,前10列(当然你要确保,你的数据多余10行,且多余10列)
21         print row

  非常简单, 主要用到 xlrd 四个特性 open_workbook , wb.sheets(), s.nrows-(行数),s.ncols -(列数),  s.cell(row, col).value- (获取指定单位处的值)。

  这几个函数用于处理一般的读取操作完全够了。

posted on 2013-12-09 20:11  Arts&Crafts  阅读(6389)  评论(0编辑  收藏  举报

导航