python对Excel的读取的示例代码


Posted in Python onFebruary 14, 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 相关文章推荐
Python中Collections模块的Counter容器类使用教程
May 31 Python
python自定义异常实例详解
Jul 11 Python
python爬取网页转换为PDF文件
Jun 07 Python
python实现Windows电脑定时关机
Jun 20 Python
Python不使用int()函数把字符串转换为数字的方法
Jul 09 Python
python使用xlrd和xlwt读写Excel文件的实例代码
Sep 05 Python
python3 property装饰器实现原理与用法示例
May 15 Python
深入解析神经网络从原理到实现
Jul 26 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
Oct 18 Python
图解python全局变量与局部变量相关知识
Nov 02 Python
python文件处理fileinput使用方法详解
Jan 02 Python
使用pycharm和pylint检查python代码规范操作
Jun 09 Python
Python安装依赖(包)模块方法详解
Feb 14 #Python
python 项目目录结构设置
Feb 14 #Python
wxpython自定义下拉列表框过程图解
Feb 14 #Python
python3中使用__slots__限定实例属性操作分析
Feb 14 #Python
python 命名规范知识点汇总
Feb 14 #Python
wxPython修改文本框颜色过程解析
Feb 14 #Python
python中提高pip install速度
Feb 14 #Python
You might like
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP7.1新功能之Nullable Type用法分析
2016/09/26 PHP
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
JavaScript控制图片加载完成后调用回调函数的方法
2015/03/20 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
javascript 中的 delete及delete运算符
2015/11/15 Javascript
JavaScript中的Number数字类型学习笔记
2016/05/26 Javascript
js选择器全面解析
2016/06/27 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
jQuery-App输入框实现实时搜索
2020/11/19 jQuery
跟老齐学Python之for循环语句
2014/10/02 Python
python基于pygame实现响应游戏中事件的方法(附源码)
2015/11/11 Python
Python实现读取并保存文件的类
2017/05/11 Python
python中数据爬虫requests库使用方法详解
2018/02/11 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Numpy ndarray 多维数组对象的使用
2021/02/10 Python
zooplus波兰:在线宠物店
2019/07/21 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
优秀党员转正的自我评价
2013/10/06 职场文书
如何写你的创业计划书
2014/01/07 职场文书
学习十八大报告感言
2014/02/28 职场文书
电子工程专业毕业生求职信
2014/03/14 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
2014年预算员工作总结
2014/12/05 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
opencv检测动态物体的实现
2021/07/21 Python
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python