如何在Python对Excel进行读取

  在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗?

  应对这一问题,可以将数据写excel文件,针对excel 文件进行操作,完美解决。

  本文仅介绍python对excel的操作

安装xlrd 库

  xlrd库 官方地址:https://pypi.org/project/xlrd/

  pip install xlrd

笔者在安装时使用了 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中有如下数据

简单的使用

# 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)

运行后结果

项目中使用

  获得所有的数据

# 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)

结果

如果在项目中使用则可将内容方法稍为做修改,获得所有的数据后,将每一行数据作为数组进行返回

# 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读取的资料请关注我们其它相关文章!

(0)

相关推荐

  • python对Excel的读取的示例代码

    在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗? 应对这一问题,可以将数据写excel文件,针对excel 文件进行操作,完美解决. 本文仅介绍python对excel的操作 安装xlrd 库 xlrd库 官方地址:https://pypi.org/project/xlrd/ pip install xlrd 笔者在安装时使用了 pip3 install x

  • Python从Excel中读取日期一列的方法

    如下所示: import xlrd import datetime file=u"伏特加.xls"#注意读中文文件名稍微处理一下 data=xlrd.open_workbook(file) table = data.sheet_by_index(0)#按照索引读Excel文件 colContent=table.col_values(1)#读某一列,日期在第二列 nrows=table.nrows #行数 print nrows ncols = table.ncols#列数 print

  • 解决python xlrd无法读取excel文件的问题

    读取文件时报错: xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found '<?xml' 该xls文件在打开时确实会警告该文件与扩展名格式不一致.用文本编辑器打开该xls文件查看,发现确实不是xls文件,而是xml文件被保存为了xls文件. 解决办法:将文件后缀名改为.xml,作为xml文件读入. 改名代码: import os os.rename(u"D:\PycharmP

  • PYTHON如何读取和写入EXCEL里面的数据

    好久没写了,今天来说说python读取excel的常见方法.首先需要用到xlrd模块,pip install xlrd 安装模块. 首先打开excel文件: xl = xlrd.open_workbook(r'D:\file\data.xlsx') 传文件路径 通过索引获取要操作的工作表 table = xl.sheets()[0] 有些人不知道啥是工作表,下图这个: 获取第一行的内容,索引从0开始 row = table.row_values(0) 获取第一列的整列的内容 col = tabl

  • python 的 openpyxl模块 读取 Excel文件的方法

    Python 的 openpyxl 模块可以让我们能读取和修改 Excel 文件. 首先让我们先理解一些 Excel 基础概念. 1 Excel 基础概念 Excel 文件也称做为工作簿.每个工作簿可以包含多个工作表(Sheet).用户当前查看的表或关闭 Excel 前最后查看的表,称为活动表. 每一张表都是由列和行构成的.列是以 A 开始的字母表示:而行是以 1 开始的数字表示的.由特定行和列所指定的方格称为单元格.每个单元格都可以包含一个数字或文本.这些单元格就构成了这张表. 2 安装 op

  • 使用python批量读取word文档并整理关键信息到excel表格的实例

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下所示) 方便后面建立电子数据库 从而使得其他人可以迅速地搜索到相关记录 据说"人生苦短,我用python" 所以决定用python从docx文档中提取文件头的信息 然后把信息更新到一个xls电子表格中,像下面这样(直接po结果好了) 而且点击文件路径可以直接打开对应的文件(含超链接) 代码

  • python实现读取excel文件中所有sheet操作示例

    本文实例讲述了python实现读取excel文件中所有sheet操作.分享给大家供大家参考,具体如下: 表格是这样的 实现把此文件所有sheet中 标识为1 的行,取出来,存入一个字典.所有行组成一个列表. # -*- coding: utf-8 -*- from openpyxl import load_workbook def get_data_from_excel(excel_dir):#读取excel,取出所有sheet要执行的接口信息,返回列表 work_book = load_wor

  • python3 读取Excel表格中的数据

    需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import openpyxl def getCell(wb, sheetname, column): #指定读取哪个Sheet(每个excel表格默认有三个Sheet:Sheet1,Sheet2,Sheet3) table = wb[sheetname] #读取哪一列数据 cell = table[colum

  • Python读取Excel表格,并同时画折线图和柱状图的方法

    今日给大家分享一个Python读取Excel表格,同时采用表格中的数值画图柱状图和折线图,这里只需要几行代码便可以实. 首先我们需要安装一个Excel操作的库xlrd,这个很简单,在安装Python后直接在DOS命令下输入pip install xlrd,便可以安装成功,如果还是不行,就输入Python -m pip install xlrd.后面会附上完整的代码和截图: 这行代码就是读取本地Excel文件的: data = xlrd.open_workbook(r'C:\\Users\\ASU

  • 如何在Python对Excel进行读取

    在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇到类似批量数据操作还会写在python文件中吗? 应对这一问题,可以将数据写excel文件,针对excel 文件进行操作,完美解决. 本文仅介绍python对excel的操作 安装xlrd 库 xlrd库 官方地址:https://pypi.org/project/xlrd/ pip install xlrd 笔者在安装时使用了 pip3 install x

  • Python自动化办公之读取Excel数据的实现

    目录 前言 Excel 读取 - xlrd 常用函数介绍 获取 excel 对象 获取工作簿 读取工作簿内容 前言 之前的章节我们学习了 python 关于 word 文件相关操作的知识点,从今天开始讲学习关于 excel 的相关操作,来看一下关于即将学习的 excel 相关知识点都有哪些? 如何读取 excel 文件 如何生成 excel 文件 如何在 excel 中生成基础的图表 目标:实现对 excel 的最基础的读写内容 该篇章所使用的新的模块 xlrd —> excel 的读取模块 x

  • Python导出数据到Excel可读取的CSV文件的方法

    本文实例讲述了Python导出数据到Excel可读取的CSV文件的方法.分享给大家供大家参考.具体实现方法如下: import csv with open('eggs.csv', 'wb') as csvfile: #spamwriter = csv.writer(csvfile, delimiter=' ',quotechar='|', #quoting=csv.QUOTE_MINIMAL) spamwriter = csv.writer(csvfile, dialect='excel') s

  • 基于python实现在excel中读取与生成随机数写入excel中

    具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再生成随机数作为学生的考试成绩. 首先要用到的数据库有:xlwt,xlrd,random这三个数据库. 命令如下: import xlwt import xlrd import random 现有一份表格内容如下图: 现在我们需要提取这其中的B1-C14. (提示:在对这份电子表格进行操作的时候,要使用到这个电子表格的地址,即表格的储存位置.) excel=xlrd.open_w

  • python利用Excel读取和存储测试数据完成接口自动化教程

    http_request2.py用于发起http请求 #读取多条测试用例 #1.导入requests模块 import requests #从 class_12_19.do_excel1导入read_data函数 from do_excel2 import read_data from do_excel2 import write_data from do_excel2 import count_case #定义http请求函数 COOKIE=None def http_request2(met

  • python在CMD界面读取excel所有数据的示例

    代码 import xlrd import os from prettytable import PrettyTable import pandas #创建一个Excel表类 class Excel(object): def __init__(self, path): self.path = path //路径要加上文件名 #读取Excel内全部数据 参数sname是sheet页名字 def read_all_data(self, sname): workbook = xlrd.open_wor

  • python 根据excel中颜色区分读取的操作

    要求: 读取以下表格中所有字体为大红色或者单元格颜色为黄色的信息 利用到的模块是:openpyxl import openpyxl filename="colortest.xlsx"#读取excel workbook=openpyxl.load_workbook(filename) worksheet=workbook.get_sheet_by_name("试题2")#读取Sheet rows,cols=worksheet.max_row,worksheet.max

随机推荐