|
今天一同学给我发来一个Excel文件,让我帮他找一些信息,打开一开 8000多条数据。自己手工处理是不可能完成的的啦。作为一名程序员,当然要用程序来处理。处理生活中的问题当然是Python最为方便啦。利用万能的 Google 搜索 Python Excel,点击第一条结果http://www.python-excel.org/ ,发先这个东西 能够跨平台处理 Excel。废话不多说,按照文档一步步去做,要安装 三个包 xlrd(用于读Excel), xlwt(用于写Excel),xlutils(处理Excel的工具箱)。
上面的英文文档很齐全,这里就不多说了,因为我只需要获取Excel里面的数据,所以只要简单的读取出来。安装xlrd方法:
- from xlrd import open_workbook
- import re
- #创建一个用于读取sheet的生成器,依次生成每行数据,row_count 用于指定读取多少行, col_count 指定用于读取多少列
- def readsheet(s, row_count=-1, col_cout=-1):#
- # Sheet 有多少行
- nrows = s.nrows
- # Sheet 有多少列
- ncols = s.ncols
- row_count = (row_count if row_count > 0 else nrows)
- col_count = (col_count if col_count > 0 else ncols)
- row_index = 0
- while row_index < row_count:
- yield [s.cell(row_index, col).value for col in xrange(col_count)]
- row_index += 1
- wb = open_workbook('simple.xls') #打开Excel文件
- # 读取Excel中所有的Sheet
- for s in wb.sheets():
- for row in readsheet(s, 10, 10):# 只读取每个Sheet的前10行,前10列(当然你要确保,你的数据多余10行,且多余10列)
- print row
复制代码
非常简单, 主要用到 xlrd 四个特性 open_workbook , wb.sheets(), s.nrows-(行数),s.ncols -(列数), s.cell(row, col).value- (获取指定单位处的值)。
这几个函数用于处理一般的读取操作完全够了。
|
|