如何在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用GET方法上传文件
Mar 10 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
Python线程创建和终止实例代码
Jan 20 Python
tensorflow实现图像的裁剪和填充方法
Jul 27 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
selenium在执行phantomjs的API并获取执行结果的方法
Dec 17 Python
利用nohup来开启python文件的方法
Jan 14 Python
python数据挖掘需要学的内容
Jun 23 Python
Python OpenCV之图片缩放的实现(cv2.resize)
Jun 28 Python
Python绘图Matplotlib之坐标轴及刻度总结
Jun 28 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
Sep 21 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 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
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
codeigniter数据库操作函数汇总
2014/06/12 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
关于document.cookie的使用javascript
2010/10/29 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
jQuery浏览器CSS3特写兼容实例
2015/01/19 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
nodejs中向HTTP响应传送进程的输出
2017/03/19 NodeJs
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
200行HTML+JavaScript实现年会抽奖程序
2019/01/22 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
Python中处理unchecked未捕获异常实例
2015/01/17 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
python 定时修改数据库的示例代码
2018/04/08 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
浅谈Python小波分析库Pywavelets的一点使用心得
2019/07/09 Python
Python实现微信机器人的方法
2019/09/06 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
党员学习十八大感想
2014/01/17 职场文书
学生生病请假条范文
2014/02/16 职场文书
2014年幼儿园安全工作总结
2014/11/10 职场文书
归元寺导游词
2015/02/06 职场文书
素质教育学习心得体会
2016/01/19 职场文书
导游词之长城八达岭
2019/09/24 职场文书
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技