如何在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根据距离和时长计算配速示例
Feb 16 Python
python自动化测试之连接几组测试包实例
Sep 28 Python
连接Python程序与MySQL的教程
Apr 29 Python
python函数的5种参数详解
Feb 24 Python
django+js+ajax实现刷新页面的方法
May 22 Python
python生成ppt的方法
Jun 07 Python
pytorch 数据集图片显示方法
Jul 26 Python
Python搭建代理IP池实现接口设置与整体调度
Oct 27 Python
Python流程控制常用工具详解
Feb 24 Python
Python参数传递对象的引用原理解析
May 22 Python
Flask缓存静态文件的具体方法
Aug 02 Python
Python 视频画质增强
Apr 28 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二分法查找数组是否包含某一元素
2013/05/23 PHP
PHP动态规划解决0-1背包问题实例分析
2015/03/23 PHP
Javascript 表单之间的数据传递代码
2008/12/04 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
详解基于vue-cli配置移动端自适应
2018/01/13 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
2018/09/14 Javascript
详解Vue 如何监听Array的变化
2019/06/06 Javascript
vue iview多张图片大图预览、缩放翻转
2019/07/13 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
使用python实现tcp自动重连
2017/07/02 Python
Python编程之序列操作实例详解
2017/07/22 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
Python基于回溯法子集树模板解决全排列问题示例
2017/09/07 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
pycharm 实现复制一行的快捷键
2021/01/15 Python
详解淘宝H5 sign加密算法
2020/08/25 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
园林设计师自荐信
2013/11/18 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
司法助理专业自荐书
2014/06/13 职场文书
数学教师求职信范文
2015/03/20 职场文书
销售督导岗位职责
2015/04/10 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
《全神贯注》教学反思
2016/02/22 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js