如何在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中关于时间和日期函数的常用计算总结(time和datatime)
Mar 08 Python
用python写asp详细讲解
Dec 16 Python
Python单链表的简单实现方法
Sep 23 Python
Python中的字符串查找操作方法总结
Jun 27 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
Django中使用celery完成异步任务的示例代码
Jan 23 Python
基于h5py的使用及数据封装代码
Dec 26 Python
Python面向对象封装操作案例详解 II
Jan 02 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
python库sklearn常用操作
Aug 23 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
收集的PHP中与数组相关的函数
2007/03/22 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
php 图像函数大举例(非原创)
2009/06/20 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
2014/09/27 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php简单处理XML数据的方法示例
2017/05/19 PHP
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
Jquery判断IE6等浏览器的代码
2011/04/05 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
使用JavaScript获取URL中的参数(两种方法)
2016/11/16 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
通过js示例讲解时间复杂度与空间复杂度
2019/08/06 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
Vue解析剪切板图片并实现发送功能
2020/02/04 Javascript
python求crc32值的方法
2014/10/05 Python
Python开发的HTTP库requests详解
2017/08/29 Python
Windows下安装Scrapy
2018/10/17 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
详解如何设置Python环境变量?
2019/05/13 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
Python3enumrate和range对比及示例详解
2019/07/13 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
临床护理求职信
2014/04/26 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
房屋出售授权委托书
2014/10/12 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL