如何在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之通过Python连接数据库
Oct 28 Python
Python中利用函数装饰器实现备忘功能
Mar 30 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
Python MD5加密实例详解
Aug 02 Python
python如何修改装饰器中参数
Mar 20 Python
简单了解python的内存管理机制
Jul 08 Python
python修改FTP服务器上的文件名
Sep 11 Python
python将三维数组展开成二维数组的实现
Nov 30 Python
python构造函数init实例方法解析
Jan 19 Python
详解Django3中直接添加Websockets方式
Feb 12 Python
scrapy-splash简单使用详解
Feb 21 Python
python神经网络 tf.name_scope 和 tf.variable_scope 的区别
May 04 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/03 新手入门
phpmyadmin出现Cannot start session without errors问题解决方法
2014/08/14 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
2014/09/02 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHP中empty,isset,is_null用法和区别
2017/02/19 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
2017/05/02 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
BOOM vs RR BO5 第四场 2.14
2021/03/10 DOTA
jQuery 操作option的实现代码
2011/03/03 Javascript
JavaScript实现关键字高亮功能
2014/11/12 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
详解爬虫被封的问题
2019/04/23 Python
Python3的高阶函数map,reduce,filter的示例详解
2019/07/23 Python
导致python中import错误的原因是什么
2020/07/01 Python
俄罗斯EPL钻石珠宝店:ЭПЛ
2019/10/22 全球购物
酒店中秋节促销方案
2014/01/30 职场文书
高中军训感言500字
2014/02/24 职场文书
2014年大学生就业规划书
2014/04/04 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
个性婚礼策划方案
2014/05/17 职场文书
锦旗标语大全
2014/06/23 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
2014年卫生保健工作总结
2014/12/08 职场文书
认真学习保证书
2015/02/26 职场文书
个人年度总结报告
2015/03/09 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
2015年幼儿园安全工作总结
2015/05/12 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书