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 相关文章推荐
利用Psyco提升Python运行速度
Dec 24 Python
Python 抓取动态网页内容方案详解
Dec 25 Python
玩转python爬虫之爬取糗事百科段子
Feb 17 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
对python调用RPC接口的实例详解
Jan 03 Python
python+ffmpeg批量去视频开头的方法
Jan 09 Python
Python面向对象之继承和多态用法分析
Jun 08 Python
pytorch 共享参数的示例
Aug 17 Python
Python编程快速上手——选择性拷贝操作案例分析
Feb 28 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
在keras里实现自定义上采样层
Jun 28 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
VIM中设置php自动缩进为4个空格的方法详解
2013/06/14 PHP
PHP依赖倒置(Dependency Injection)代码实例
2014/10/11 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
php利用事务处理转账问题
2015/04/22 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
jQuery基础框架浅入剖析
2012/12/27 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
[01:44]Ti10举办地公布
2019/08/25 DOTA
Python装饰器decorator用法实例
2014/11/10 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
pytorch 彩色图像转灰度图像实例
2020/01/13 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
快速了解Python开发环境Spyder
2020/06/29 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
Chupi官网:在爱尔兰手工制作的订婚、结婚戒指和精美珠宝
2020/09/28 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的
2015/07/24 面试题
优秀党员获奖感言
2014/02/18 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
MySQL的索引你了解吗
2022/03/13 MySQL