如何在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的chardet库获得文件编码并修改编码
Jan 22 Python
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
Apr 12 Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 Python
python找出完数的方法
Nov 12 Python
淘宝秒杀python脚本 扫码登录版
Sep 19 Python
pandas 空数据处理方法详解
Nov 02 Python
Pandas+Matplotlib 箱式图异常值分析示例
Dec 09 Python
python实现电子词典
Mar 03 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
Aug 19 Python
Python实现七个基本算法的实例代码
Oct 08 Python
python中time包实例详解
Feb 02 Python
如何在C++中调用Python
May 21 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
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
解析php dirname()与__FILE__常量的应用
2013/06/24 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
javascript 动态添加事件代码
2008/11/30 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
js原生实现FastClick事件的实例
2016/11/20 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
VueJS实现用户管理系统
2020/05/29 Javascript
[01:14:41]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第一场 1月8日
2021/03/11 DOTA
简单使用Python自动生成文章
2014/12/25 Python
Python的Django框架下管理站点的基本方法
2015/07/17 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
Selenium定时刷新网页的实现代码
2018/10/31 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
简述python Scrapy框架
2020/08/17 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
2020/12/13 Python
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
经典演讲稿范文
2013/12/30 职场文书
社区学习十八大感想
2014/01/22 职场文书
保密工作目标责任书
2014/07/28 职场文书
公司周年庆活动方案
2014/08/25 职场文书
房产遗嘱范本
2015/08/06 职场文书
小学生教师节广播稿
2015/08/19 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
mysql查找连续出现n次以上的数字
2022/05/11 MySQL