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比较两个列表大小的方法
Jul 11 Python
python类的继承实例详解
Mar 30 Python
Python开发最牛逼的IDE——pycharm
Aug 01 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
python函数装饰器之带参数的函数和带参数的装饰器用法示例
Nov 06 Python
wxpython绘制音频效果
Nov 18 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
利用Python优雅的登录校园网
Oct 21 Python
python操作xlsx格式文件并读取
Jun 02 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中time()和mktime()方法的区别
2013/09/28 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
基于jquery自定义图片热区效果
2012/07/21 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
js中的getAttribute方法使用示例
2014/08/01 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
JavaScript类型检测之typeof 和 instanceof 的缺陷与优化
2016/01/13 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
Python 登录网站详解及实例
2017/04/11 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
python 并发编程 多路复用IO模型详解
2019/08/20 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
美国内衣品牌:Leonisa
2016/08/14 全球购物
台湾专柜女包:KINAZ
2019/12/26 全球购物
运动会广播稿200字
2014/01/15 职场文书
优秀毕业生自我鉴定
2014/01/19 职场文书
通信研究生自荐信
2014/02/01 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
体育课课后反思
2014/04/24 职场文书
企业财务人员岗位职责
2015/04/14 职场文书
2015年除四害工作总结
2015/07/23 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
tree shaking对打包体积优化及作用
2022/07/07 Java/Android