python通过openpyxl操作excel

python 对Excel操作常用的主要有xlwt、xlrd、openpyxl ,前者xlwt主要适合于对后缀为xls比较进行写入,而openpyxl主要是针对于Excel 2007 以上版本进行操作,也就是对后缀为xlsx进行操作。

Excel 主要有三大元素,工作簿,Sheet 页,单元格,一个工作簿可以包含多个Sheet页面,而Sheet页由N多个单元格组成,而单元格主要用来存储数据;

一、安装插件

pip install openpyxl

二、创建Excel文件

   操作excel之前,首先我们需要创建一个excel ,创建的途径很多,我们主要通过openpyxl的方式创建;

# 首先需要我们导入Workbook包from openpyxl import Workbook

excel = Workbook()  # 创建excel对象
excel.save("sample.xlsx")  # 保存excel

创建方式很简单,其实就是把没有的东西保存在指定的位置即可;

二、创建Sheet页

  1.excel默认创建成功以后会自动创建一个Sheet页面

from openpyxl import Workbook

excel = Workbook()  # 创建excel对象

excel.create_sheet(title="Sheet1", index=1)  # 创建sheet页面,默认index 的值为1,但是index是从0开始
excel.save("sample.xlsx")  # 保存excel

  注意:

      新建sheet 完成以后需要保存,如果不保存是无法创建成功

三、新建excel时写入测试数据

from openpyxl import Workbook

# 写入操作之前首先我们需要知道在那个Sheet页写入
# 打开默认的Sheet页面

excel = Workbook()
sheet = excel.active  # 激活第一个Sheet页
# excel写入数据的三种方式
# 指定单元格写入数据
ws["A1"] = "添加数据方式1"  # 指定单元格进行添加数据
# 在当前的sheet页面中追加一行数据
ws.append([1, 2, 3, 4])  # 在当前sheet页面追加
# 指定行号,列号,写入的值
ws.cell(row=1, column=2, value="第一行第二列添加测试数据")
# 最重要的写入数据以后需要保存数据
wk.save("sample.xlsx")

四、操作excel

  1.获取所有的Sheet页面,修改Sheet名称,删除Sheet页面

excel = load_workbook(‘sample.xlsx‘)  # 打开文件
# 获取当前excel的所有sheet 页
print(excel.sheetnames)
# 获取指定的Sheet页面
sheet = excel[‘Sheet‘]  # 通过sheet_name获取,通过sheet名称获取表
# 获取当前sheet页的名称
print(sheet.title)
# 修改 Sheet 名称
sheet.title = "Sheet_new"
# 删除Sheet页
excel.remove_sheet(sheet)  # 这个方法已经弃用,推荐使用remove 或者del excel["Sheet1"]  # 指定删除的Sheet名称
excel.remove(sheet) # 先获取Sheet,然后在删除
excel.save("sample.xlsx") # 只要修改完成,必须保存excel

  2.读取excel数据

# 首先读取excel数据的时候我们需要导入load_workbook
from openpyxl import load_workbook
# 打开文件
excel = load_workbook(‘bid.xlsx‘)
# 获取操作的sheet页面
sheet1 = excel[‘Sheet1‘]  # 通过sheet_name获取,通过sheet名称获取表
sheet2 = excel.active() # 打开默认的sheet页面

# 读取单元格的数据
data = table.cell(row=1, column=1).value  # 指定行列获取单元格的数据,还可以通过循环的方式获取多个单元格的值

data = table["A1"].value  # 指定单元格获取数据

dataw = table["A1":"C2"]  # 获取多个单元格数据

# 修改单元格数据
data = table["A1"].value = "修改数据方式"  # 重新指定单元格的数据

 3.获取表的一些属性

wb = load_workbook("sample.xlsx")
ws = wb.active
# 通过返回最大的行数和列数,获取excel有多少行多少列
rows = ws.max_row  # 获取行数
cols = ws.max_column  # 获取列数
# 直接获取行数和列数,返回的结果是一个生成器,需要通过元组转换下

len(tuple(ws.columns))  # 获取列数
len(tuple(ws.rows))  # 获取行数

四、实际案例

  工作中,需要测试数据需要支持多个数据源,但是我不想改后端的代码,所以考虑将excel数据处理为json数据,然后进行处理工作。

def excel2json(file_name):
    wb = load_workbook(file_name)
    ws = wb.active
    result_list = []
    head_list = []
    for k in tuple(ws.rows)[0]:  # excel的第一行数据设置为字典的key
        head_list.append(k.value)

    for rv in tuple(ws.rows)[1:]:  # excel 其他的行为字典的value
        value_list = []
        for v in rv:
            value_list.append(v.value)
        result_list.append(dict(zip(head_list, value_list)))  # 两个列表合并为字典
    return result_list

  

原文地址:https://www.cnblogs.com/mengyu/p/9905578.html

时间: 2024-10-08 09:28:34

python通过openpyxl操作excel的相关文章

用python库openpyxl操作excel,从源excel表中提取信息复制到目标excel表中

现代生活中,我们很难不与excel表打交道,excel表有着易学易用的优点,只是当表中数据量很大,我们又需要从其他表册中复制粘贴一些数据(比如身份证号)的时候,我们会越来越倦怠,毕竟我们不是机器,没法长时间做某种重复性的枯燥操作.想象这样一个场景,我们有个几千行的表要填,需要根据姓名输入其对应的身份证号,但之前我们已经做过一个类似的表,同样的一些人的姓名跟身份证号是完整的,那么我们就需要通过一个个查找姓名,然后把身份证号码复制到我们当前要做的表里去. 当我日复一日重复着这些操作的时候,我都很想有

python openpyxl 操作 excel

初识与安装 Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files. 安装 1 $ pip install openpyxl 一个简单创建例子 1 2 3 4 5 6 7 8 9 10 11 12 13 from openpyxl import Workbook wb = Workbook() # 激活 worksheet ws = wb.active # 数据可以直接分配

Python学习笔记-操作excel

python操作excel:使用pip安装即可 一.xlwt:写excel import xlwt book = xlwt.Workbook() #新建一个excel sheet = book.add_sheet('sheet1') #加sheet页 sheet.write(0,0,'姓名') #行.列.写入的内容 sheet.write(0,1,'年龄') sheet.write(0,2,'性别') book.save('stu.xls') #结尾一定要用.xls import xlwt ti

使用openpyxl操作Excel

删除列数据 使用openpyxl库操作Excel,可以删除指定的列 import openpyxl file_path = r"C:\Users\Desktop\test.xlsx" wb = openpyxl.load_workbook(filename) # 读取Excel文件 ws = wb.active # 激活Excel ws.delete_cols(4) # 删除第4列数据 ws.delete_cols(3) # 删除第3列数据 wb.save(file_path) # 保

python 模块openpyxl读excel文件

使用openpyxl模块来读取excel. 先看一下操作前的excel是什么样子吧.对了,现在只支持xlsx格式的excel读取 我现在想在第三行插入3,3,3怎么办呢? #!/usr/bin/env python # _*_ coding:utf-8 _*_ # 导入excel读取模块 from openpyxl import load_workbook from openpyxl.cell import get_column_letter # 将excel文件加载到内存对象中 wb = lo

openpyxl操作excel

Openpyxl是一个常用的python库,用于对Excel的常用格式及其模板进行数据读写等操作. 安装 安装 pip install openpyxl pillow:在文件中需要使用images (jpeg, png, bmp,...)时,需要安装pillow库. 注意:写操作时请关闭需要操作的excel文件,否则写不成功 加载xlsx操作内容 加载外部excel的xlsx步骤: 加载xlsx文件,获得该文件的句柄,为workbook from openpyxl import load_wor

python+xlrd+xlwt操作excel

介绍 xlrd(读操作),xlwt(写操作) 上述软件下载后,分别解压,之后在cmd命令下分别进入对应的目录中运行 python setup.py install 如果运行过程中提示缺少setuptools,则先运行python ez_setup.py之后在重复上面的步骤 PS:office的版本不要用太高的,建议最好用03版本的,且后缀为xls的 源码bug修复 安装好xlwt3后,找到formula.py文件,将其中的 __slots__ = ["__init__", "

Python安装和操作EXCEL数据

一.windows下面安装Python 1.安装Python 选择的版本是3.5.2版本.windows下面的Python安装一般是通过软件安装包安装而不是命令行,所以首先要在Python的官方主页上面下载最新的Python安装包.下载地址是:https://www.python.org/downloads/ 下载好后,解压到文件夹中,一直点击下一步就OK了.在安装完成之后,打开控制台,输入“Python”,我们能够看到下面的效果: 因为python.exe文件在 Python 目录下,我们还没

python使用xlrd 操作Excel读写

此文章非本人 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 默认操作桌面上的excel 3.使用技巧 获取一个工作表 table = data.sheets()[0]          #通过索引顺序获取 table =