龙哥 发表于 2018-1-22 22:03

Python读取Excel数据

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

  上面的英文文档很齐全,这里就不多说了,因为我只需要获取Excel里面的数据,所以只要简单的读取出来。安装xlrd方法:
pip install 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
      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- (获取指定单位处的值)。

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

页: [1]
查看完整版本: Python读取Excel数据