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编码类型转换方法详解
Jul 01 Python
深入理解python中的atexit模块
Mar 07 Python
Python测试人员需要掌握的知识
Feb 08 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
Django 对IP访问频率进行限制的例子
Aug 30 Python
Django choices下拉列表绑定实例
Mar 13 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
jquery 1.4.2发布!主要是性能与API
2010/02/25 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
基于javascript实现样式清新图片轮播特效
2016/03/30 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
VueJS如何引入css或者less文件的一些坑
2017/04/25 Javascript
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
Python 装饰器使用详解
2017/07/29 Python
基于python的字节编译详解
2017/09/20 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
python 不同方式读取文件速度不同的实例
2018/11/09 Python
python使用KNN算法识别手写数字
2019/04/25 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
判断单链表中是否存在环
2012/07/16 面试题
奥巴马获胜演讲稿
2014/05/15 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
初中家长评语和期望
2014/12/26 职场文书
廉洁自律证明
2015/06/24 职场文书
2015年中秋放假通知范文
2015/08/18 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android