如何在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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
Python中多个数组行合并及列合并的方法总结
Apr 12 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
Python安装lz4-0.10.1遇到的坑
May 20 Python
python 判断参数为Nonetype类型或空的实例
Oct 30 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
快速解决vue.js 模板和jinja 模板冲突的问题
Jul 26 Python
Python多进程编程multiprocessing代码实例
Mar 12 Python
详解用Python进行时间序列预测的7种方法
Mar 13 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
python中取绝对值简单方法总结
Jul 24 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运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
PHP attributes()函数讲解
2019/02/03 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
js 文件引入实现代码
2010/04/23 Javascript
基于JavaScript 类的使用详解
2013/05/07 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
2013/10/25 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
element el-input directive数字进行控制
2018/10/11 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
微信小程序中button去除默认的边框实例代码
2019/08/01 Javascript
python 将字符串转换成字典dict
2013/03/24 Python
Python程序员鲜为人知但你应该知道的17个问题
2014/06/04 Python
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
python中退出多层循环的方法
2018/11/27 Python
Python面向对象程序设计示例小结
2019/01/30 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
环保倡议书400字
2014/05/15 职场文书
销售人员工作自我评价
2014/09/21 职场文书
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
担保书格式
2015/01/20 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
毕业实习感受与体会
2015/05/26 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
大学生学习十八届五中全会精神心得体会
2016/01/05 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
利用Apache Common将java对象池化的问题
2022/06/16 Servers