今天一同学给我发来一个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- (获取指定单位处的值)。
这几个函数用于处理一般的读取操作完全够了。