如何在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注释详解
Jun 01 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
May 09 Python
Python Pandas批量读取csv文件到dataframe的方法
Oct 08 Python
详解django的serializer序列化model几种方法
Oct 16 Python
python实现键盘输入的实操方法
Jul 16 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
Python基于network模块制作电影人物关系图
Jun 19 Python
Python enumerate() 函数如何实现索引功能
Jun 29 Python
python实现暗通道去雾算法的示例
Sep 27 Python
使用Pytorch搭建模型的步骤
Nov 16 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
ajax取消挂起请求的处理方法
2013/03/18 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
基于jquery+thickbox仿校内登录注册框
2010/06/07 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
使用JavaScript刷新网页的方法
2015/06/04 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
IE8兼容Jquery.validate.js的问题
2016/12/01 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
详解Vue-cli3.X使用px2rem遇到的问题
2019/08/09 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
Python的MongoDB模块PyMongo操作方法集锦
2016/01/05 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Python requests模块实例用法
2019/02/11 Python
python关闭占用端口方式
2019/12/17 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
小学教师师德反思
2014/02/03 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
竞选班委演讲稿
2014/04/28 职场文书
党日活动总结
2014/05/07 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
高效笔记技巧分享:学会这些让你不再困扰
2019/09/04 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python