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使用post提交数据到远程url的方法
Apr 29 Python
python计算方程式根的方法
May 07 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
python中zip()方法应用实例分析
Apr 16 Python
Python数据类型详解(二)列表
May 08 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
Jun 14 Python
浅谈python对象数据的读写权限
Sep 12 Python
Python基础知识_浅谈用户交互
May 31 Python
Python将json文件写入ES数据库的方法
Apr 10 Python
python数据处理之如何选取csv文件中某几行的数据
Sep 02 Python
python飞机大战pygame游戏背景设计详解
Dec 17 Python
如何解决python多种版本冲突问题
Oct 13 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
main.php
2006/12/09 PHP
php实现文件下载代码分享
2014/08/19 PHP
PHP多个文件上传到服务器实例
2014/10/29 PHP
培养自己的php编码规范
2015/09/28 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
php实现数字补零的方法总结
2018/09/12 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
js获取客户端外网ip的简单实例
2013/11/21 Javascript
jfreechart插件将数据展示成饼状图、柱状图和折线图
2015/04/13 Javascript
JS实现回到页面顶部动画效果的简单实例
2016/05/24 Javascript
使用get方式提交表单在地址栏里面不显示提交信息
2017/02/21 Javascript
Vue.js 2.0学习教程之从基础到组件详解
2017/04/24 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
[05:06]DOTA2-DPC中国联赛 正赛 VG vs Magma选手采访
2021/03/11 DOTA
Python 错误和异常小结
2013/10/09 Python
研究Python的ORM框架中的SQLAlchemy库的映射关系
2015/04/25 Python
python实现在windows下操作word的方法
2015/04/28 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
python实现横向拼接图片
2020/03/23 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
keras中的History对象用法
2020/06/19 Python
Python 无限级分类树状结构生成算法的实现
2021/01/21 Python
方法名是否可以与构造器的名字相同
2012/06/04 面试题
护理不良事件检讨书
2014/02/06 职场文书
小学生读书感言
2014/02/12 职场文书
3.12植树节活动总结2014
2014/03/13 职场文书
保护母亲河倡议书
2014/04/14 职场文书
地陪导游欢迎词
2015/01/26 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
python-for x in range的用法(注意要点、细节)
2021/05/10 Python