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中列表和元组的相关语句和方法讲解
Aug 20 Python
Python正则表达式匹配日期与时间的方法
Jul 07 Python
Python使用指定端口进行http请求的例子
Jul 25 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
Python中turtle库的使用实例
Sep 09 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 Python
python3 logging日志封装实例
Apr 08 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
经验丰富程序员才知道的8种高级Python技巧
Jul 27 Python
教你用python控制安卓手机
May 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
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
php截取中文字符串函数实例
2015/02/23 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
extJs 下拉框联动实现代码
2010/04/09 Javascript
jQuery参数列表集合
2011/04/06 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
jQuery实现拖拽可编辑模块功能代码
2017/01/12 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
微信小程序使用npm包的方法步骤
2019/08/13 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
Python实现Linux中的du命令
2017/06/12 Python
对Python3中的input函数详解
2018/04/22 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
python命名空间(namespace)简单介绍
2019/08/10 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
教学评估实施方案
2014/03/16 职场文书
心理学专业求职信
2014/06/16 职场文书
地震捐款倡议书
2014/08/29 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
人生遥控器观后感
2015/06/11 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
德生2P3收音机开箱评测
2022/04/30 无线电