鱼C论坛

 找回密码
 立即注册
查看: 12358|回复: 25

[技术交流] Python操作Excel

[复制链接]
发表于 2016-11-7 00:00:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

        上面的英文文档很齐全,这里就不多说了,因为我只需要获取Excel里面的数据,所以只要简单的读取出来。
  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- (获取指定单位处的值)。这几个函数用于处理一般的读取操作完全够了。


原文出处:点击打开链接


评分

参与人数 1荣誉 +5 鱼币 +11 贡献 +5 收起 理由
不二如是 + 5 + 11 + 5 棒棒哒

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-11-7 08:57:12 | 显示全部楼层
好方便
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2016-11-7 09:04:06 | 显示全部楼层
好方便,感谢分享,马上试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-11-29 21:14:44 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-1-5 12:06:03 | 显示全部楼层
感谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-14 13:39:12 | 显示全部楼层
学习学习学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-16 10:36:34 | 显示全部楼层
为什么我的pip无法使用安装呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-16 11:23:05 | 显示全部楼层
问下,这个应该把查找的excel的文件放在哪里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-16 10:56:33 | 显示全部楼层
学习学习,感谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-16 11:05:35 | 显示全部楼层
boyun58 发表于 2017-1-16 11:23
问下,这个应该把查找的excel的文件放在哪里

和脚本文件一起就好了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-21 17:42:25 | 显示全部楼层
这个只适用于python2.x么,在python3.6运行不了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-21 21:02:42 | 显示全部楼层
Zz阿西 发表于 2017-2-21 17:42
这个只适用于python2.x么,在python3.6运行不了啊

那就用python2.x呗,或者你自己改改,不要问我怎么改~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-2-22 16:38:53 | 显示全部楼层
~风介~ 发表于 2017-2-21 21:02
那就用python2.x呗,或者你自己改改,不要问我怎么改~

厉害了, 谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-15 08:40:53 | 显示全部楼层
厉害了,正需要这个呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-7-10 21:41:54 | 显示全部楼层
好东西。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-13 09:21:34 | 显示全部楼层
谢谢指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-14 23:26:50 | 显示全部楼层
好东西,正是我想要找的。多谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-16 19:00:11 | 显示全部楼层
还不知道yield怎么用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-17 23:30:05 | 显示全部楼层
好东西,值得学习,但是还有没有更详细?????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-20 10:25:14 | 显示全部楼层
感觉非常不错的样子。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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