如何在Python对Excel进行读取


Posted in Python onJune 04, 2020

在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗?

应对这一问题,可以将数据写excel文件,针对excel 文件进行操作,完美解决。

本文仅介绍python对excel的操作

安装xlrd 库

xlrd库 官方地址:https://pypi.org/project/xlrd/

pip install xlrd

如何在Python对Excel进行读取

       笔者在安装时使用了 pip3 install xlrd

原因:笔者同时安装了python2 和 python3

如果pip的话会默认将库安装到python2中,python3中不能直接调用。

那么到底是使用pip 还是pip3进行安装呢?

如果系统中只安装了Python2,那么就只能使用pip。

如果系统中只安装了Python3,那么既可以使用pip也可以使用pip3,二者是等价的。

如果系统中同时安装了Python2和Python3,则pip默认给Python2用,pip3指定给Python3用。 

Xlrd 库简单的使用

以如下excel文件为例进行操作

文件名为demo,有两个sheet,名为工作表1和工作表2

工作表1中有如下数据

如何在Python对Excel进行读取

简单的使用

# coding=utf-8

import xlrd

# 打开文件
data = xlrd.open_workbook('file/demo.xlsx')

# 查看工作表
data.sheet_names()
print("sheets:" + str(data.sheet_names()))

# 通过文件名获得工作表,获取工作表1
table = data.sheet_by_name('工作表1')

# 打印data.sheet_names()可发现,返回的值为一个列表,通过对列表索引操作获得工作表1
# table = data.sheet_by_index(0)

# 获取行数和列数
# 行数:table.nrows
# 列数:table.ncols
print("总行数:" + str(table.nrows))
print("总列数:" + str(table.ncols))

# 获取整行的值 和整列的值,返回的结果为数组
# 整行值:table.row_values(start,end)
# 整列值:table.col_values(start,end)
# 参数 start 为从第几个开始打印,
# end为打印到那个位置结束,默认为none
print("整行值:" + str(table.row_values(0)))
print("整列值:" + str(table.col_values(1)))

# 获取某个单元格的值,例如获取B3单元格值
cel_B3 = table.cell(3,2).value
print("第三行第二列的值:" + cel_B3)

运行后结果

如何在Python对Excel进行读取

项目中使用

获得所有的数据

# coding=utf-8

import xlrd

def read_xlrd(excelFile):
 data = xlrd.open_workbook(excelFile)
 table = data.sheet_by_index(0)

 for rowNum in range(table.nrows):
  rowVale = table.row_values(rowNum)
  for colNum in range(table.ncols):
   if rowNum > 0 and colNum == 0:
    print(int(rowVale[0]))
   else:
    print(rowVale[colNum])
  print("---------------")

 # if判断是将 id 进行格式化
 # print("未格式化Id的数据:")
 # print(table.cell(1, 0))
 # 结果:number:1001.0


if __name__ == '__main__':
 excelFile = 'file/demo.xlsx'
 read_xlrd(excelFile=excelFile)

结果

如何在Python对Excel进行读取

如果在项目中使用则可将内容方法稍为做修改,获得所有的数据后,将每一行数据作为数组进行返回

# coding=utf-8

import xlrd

def read_xlrd(excelFile):
 data = xlrd.open_workbook(excelFile)
 table = data.sheet_by_index(0)
 dataFile = []

 for rowNum in range(table.nrows):
  # if 去掉表头
  if rowNum > 0:
   dataFile.append(table.row_values(rowNum))

 return dataFile


if __name__ == '__main__':
 excelFile = 'file/demo.xlsx'
 print(read_xlrd(excelFile=excelFile))

结果

如何在Python对Excel进行读取

以上就是如何在Python对Excel进行读取的详细内容,更多关于python对Excel读取的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python在windows命令行下输出彩色文字的方法
Mar 19 Python
python在指定目录下查找gif文件的方法
May 04 Python
python使用wmi模块获取windows下的系统信息 监控系统
Oct 27 Python
浅谈Python中chr、unichr、ord字符函数之间的对比
Jun 16 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
python实现定时提取实时日志程序
Jun 22 Python
浅谈pycharm下找不到sqlalchemy的问题
Dec 03 Python
pygame实现贪吃蛇游戏(下)
Oct 29 Python
简单了解python装饰器原理及使用方法
Dec 18 Python
python字符串判断密码强弱
Mar 18 Python
python 基于wx实现音乐播放
Nov 24 Python
分享python函数常见关键字
Apr 26 Python
opencv 查找连通区域 最大面积实例
Jun 04 #Python
Python中的Cookie模块如何使用
Jun 04 #Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 #Python
Python中的全局变量如何理解
Jun 04 #Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 #Python
Python urllib2运行过程原理解析
Jun 04 #Python
Python如何生成xml文件
Jun 04 #Python
You might like
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
php中chdir()函数用法实例
2014/11/13 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
php源码的安装方法和实例
2019/09/26 PHP
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
2015/11/18 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
JS实现的四级密码强度检测功能示例
2017/05/11 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
在Mac下彻底卸载node和npm的方法
2018/05/16 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
Django框架下在视图中使用模版的方法
2015/07/16 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
后进生转化工作制度
2014/01/17 职场文书
七一表彰活动方案
2014/01/18 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
大学第二课堂活动总结
2014/07/08 职场文书
党支部对照检查材料
2014/08/25 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
单位委托书
2014/10/15 职场文书
党支部四风整改方案
2014/10/25 职场文书
兴趣班停课通知
2015/04/24 职场文书
写给老师的保证书
2015/05/09 职场文书
学子宴致辞大全
2015/07/27 职场文书
JVM之方法返回地址详解
2022/02/28 Java/Android
Windows Server 2012 修改远程默认端口3389的方法
2022/04/28 Servers