龙网论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1663|回复: 0
收起左侧

Python读取Excel数据

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

  上面的英文文档很齐全,这里就不多说了,因为我只需要获取Excel里面的数据,所以只要简单的读取出来。安装xlrd方法:
  1. pip install xlrd
复制代码
  1. from xlrd import open_workbook
  2. import re

  3. #创建一个用于读取sheet的生成器,依次生成每行数据,row_count 用于指定读取多少行, col_count 指定用于读取多少列
  4. def readsheet(s, row_count=-1, col_cout=-1):#
  5.     # Sheet 有多少行
  6.     nrows = s.nrows
  7.     # Sheet 有多少列
  8.     ncols = s.ncols
  9.     row_count = (row_count if row_count > 0 else nrows)
  10.     col_count = (col_count if col_count > 0 else ncols)
  11.     row_index = 0
  12.     while row_index < row_count:
  13.         yield [s.cell(row_index, col).value for col in xrange(col_count)]
  14.         row_index += 1

  15. wb = open_workbook('simple.xls') #打开Excel文件
  16. # 读取Excel中所有的Sheet
  17. for s in wb.sheets():
  18.     for row in readsheet(s, 10, 10):# 只读取每个Sheet的前10行,前10列(当然你要确保,你的数据多余10行,且多余10列)
  19.         print row
复制代码

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

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|龙网论坛 ( 辽ICP备06014320号 )

GMT+8, 2024-11-21 18:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表