如何在Python对Excel进行读取


Posted in Python onJune 04, 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对Excel进行读取的详细内容,更多关于python对Excel读取的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python 装饰器使用详解
Jul 29 Python
Django框架的中的setting.py文件说明详解
Oct 15 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
python中正则表达式与模式匹配
May 07 Python
python 实现GUI(图形用户界面)编程详解
Jul 17 Python
python Pillow图像处理方法汇总
Oct 16 Python
python的sys.path模块路径添加方式
Mar 09 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
Pycharm plot独立窗口显示的操作
Dec 11 Python
python中%格式表达式实例用法
Jun 18 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 Python
opencv 查找连通区域 最大面积实例
Jun 04 #Python
Python中的Cookie模块如何使用
Jun 04 #Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 #Python
Python中的全局变量如何理解
Jun 04 #Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 #Python
Python urllib2运行过程原理解析
Jun 04 #Python
Python如何生成xml文件
Jun 04 #Python
You might like
基于curl数据采集之单页面采集函数get_html的使用
2013/04/28 PHP
php实现把url转换迅雷thunder资源下载地址的方法
2014/11/07 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
php实现的操作excel类详解
2016/01/15 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
使用python实现knn算法
2017/12/20 Python
python+tkinter编写电脑桌面放大镜程序实例代码
2018/01/16 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
django项目中新增app的2种实现方法
2020/04/01 Python
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
Joules美国官网:出色的英国风格
2017/10/30 全球购物
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
新三好学生主要事迹
2014/01/23 职场文书
室内拓展活动方案
2014/02/13 职场文书
物业接待员岗位职责
2015/04/15 职场文书
社区义诊通知
2015/04/24 职场文书
民事起诉书范本
2015/05/19 职场文书
电话营销开场白
2015/05/29 职场文书
美丽的大脚观后感
2015/06/03 职场文书
宇宙与人观后感
2015/06/05 职场文书
小学作文之描写天气
2019/08/15 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL