删除Excel指定行或列

使用openpyxl库操作Excel,可以删除指定的列

import openpyxl

def excel_delete(fp):
wb = openpyxl.load_workbook(fp) # 读取Excel文件
ws = wb.active # 获取激活的sheet页
ws.delete_cols(idx=4, amount=3) # 从第4列开始往后删除三列
ws.delete_rows(idx=2, amount=2) # 从第2行开始往下删除两行
wb.save(fp) # 保存文件
wb.close()

往Excel中追加数据

只往Excel的最后一行追加数据

import openpyxl

def write_append(io, data):
"""
追加写入数据
:param io: Excel文件
:param data: 数据,list 或 dict类型
:return:
"""
wb = openpyxl.load_workbook(io)
sht = wb.active
#sht = wb['sheet_name']
sht.append(data)
wb.save(io)
wb.close()

往Excel中插入行或列

import openpyxl

def excel_insert(fp):
'''
插入的行和列都不是按索引插入的,是实际的行和列
偏移的行和列都是从头(A1位置)开始算的
:param fp: 文件路径
'''
wb = openpyxl.load_workbook(fp)
ws = wb.active
ws.insert_cols(2) # 插入第2列,即B列
ws.insert_cols(2, 4) # 向右偏移4列,插入第5列,即E列
ws.insert_rows(2) # 插入第2行
ws.insert_rows(2, 3) # 向下偏移3行,插入第4行
wb.save(fp)
wb.close()

往指定单元格中写入超链接

xlsxwriter库也是非常的强大,使用xlsxwriter库操作Excel,可以实现datatime,url,boolean等等方法,如下:

安装库

pip3 install xlsxwriter

调用库,操作Excel

import xlsxwriter

# 创建一个新工作簿
workbook = xlsxwriter.Workbook(r"C:\Users\Desktop\test.xlsx")
# 添加一个工作表
worksheet = workbook.add_worksheet('test') worksheet.set_column('B:B', 40) # 为B列设置列宽为40
worksheet.set_row(2, 30) # 为第二行设置行高为30 # 设置样式
formats = workbook.add_format({
'font_color': 'yellow',
'bold': 2,
'underline': 1,
'font_size': 12,
'fg_color': 'red'
})
# 写入超链接
worksheet.write_url('B1', 'https://www.baidu.com/') # 隐式显示
worksheet.write_url('B2', 'https://www.baidu.com/', string='百度一下') # 显示string
worksheet.write_url('B3', 'https://www.baidu.com/', tip='前往百度') # 鼠标悬浮提示信息
worksheet.write_url('B4', 'https://www.baidu.com/', cell_format=formats) # 按格式显示
worksheet.write_url('B5', 'C:/files/file')
worksheet.write_url(1, 2, 'https://www.baidu.com/', cell_format=formats, string='hello', tip='click')
# 写入一个非超链接的URL
worksheet.write_string('B6', 'http://www.baidu.com/')
workbook.close()

效果如下:

可以设置的格式大概有下面这么多,基本还是够用的

self.xf_format_indices = xf_indices
self.dxf_format_indices = dxf_indices
self.xf_index = None
self.dxf_index = None self.num_format = 'General'
self.num_format_index = 0
self.font_index = 0
self.has_font = 0
self.has_dxf_font = 0 self.bold = 0
self.underline = 0
self.italic = 0
self.font_name = 'Calibri'
self.font_size = 11
self.font_color = 0x0
self.font_strikeout = 0
self.font_outline = 0
self.font_shadow = 0
self.font_script = 0
self.font_family = 2
self.font_charset = 0
self.font_scheme = 'minor'
self.font_condense = 0
self.font_extend = 0
self.theme = 0
self.hyperlink = False
self.xf_id = 0 self.hidden = 0
self.locked = 1 self.text_h_align = 0
self.text_wrap = 0
self.text_v_align = 0
self.text_justlast = 0
self.rotation = 0 self.fg_color = 0
self.bg_color = 0
self.pattern = 0
self.has_fill = 0
self.has_dxf_fill = 0
self.fill_index = 0
self.fill_count = 0 self.border_index = 0
self.has_border = 0
self.has_dxf_border = 0
self.border_count = 0 self.bottom = 0
self.bottom_color = 0
self.diag_border = 0
self.diag_color = 0
self.diag_type = 0
self.left = 0
self.left_color = 0
self.right = 0
self.right_color = 0
self.top = 0
self.top_color = 0 self.indent = 0
self.shrink = 0
self.merge_range = 0
self.reading_order = 0
self.just_distrib = 0
self.color_indexed = 0
self.font_only = 0

格式

  

后续更新中。。。。

python中利用openpyxl、xlsxwriter库操作Excel的更多相关文章

  1. 【转】经典!python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  2. 6、Python 中 利用 openpyxl 读 写 excel 操作

    __author__ = 'Administrator' from openpyxl import load_workbook # Excel_Util 类 class Excel_util: #初始 ...

  3. 利用openpyxl模块来操作Excel

    python 读写 excel 有好多选择,但是,方便操作的库不多,在我尝试了几个库之后,我觉得两个比较方便的库分别是 xlrd/xlwt.openpyxl. 之所以推荐两个库是因为这两个库分别操作的 ...

  4. python中使用xlrd、xlwt操作excel表格详解

    python读excel——xlrd 这个过程有几个比较麻烦的问题,比如读取日期.读合并单元格内容.下面先看看基本的操作: 首先读一个excel文件,有两个sheet,测试用第二个sheet,shee ...

  5. python中使用xlrd、xlwt操作excel

    python 对 excel基本的操作如下: # -*- coding: utf-8 -*- import xlrd import xlwt from datetime import date,dat ...

  6. Python中xlrd和xlwt模块读写Excel的方法

    本文主要介绍可操作excel文件的xlrd.xlwt模块.其中xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 着重掌握读取操作,因为实际工作中读取excel用得比较 ...

  7. (数据科学学习手札145)在Python中利用yarl轻松操作url

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,在诸如网络爬虫.web应用开发 ...

  8. python中使用openpyxl模块时报错: File is not a zip file

    python中使用openpyxl模块时报错: File is not a zip file. 最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt  新建的文件,或者是通过自己修改后缀名 ...

  9. Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载

    [声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...

  10. 使用ctypes在Python中调用C++动态库

    使用ctypes在Python中调用C++动态库 入门操作 使用ctypes库可以直接调用C语言编写的动态库,而如果是调用C++编写的动态库,需要使用extern关键字对动态库的函数进行声明: #in ...

随机推荐

  1. c++ sizeof详解

    c语言详解sizeof   原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html 一.sizeof的概念   sizeof是C语言的一种单 ...

  2. 使用.Net工具安装某种程序

    使用.Net开发的一个程序,安装时需要使用.net的工具. Emmm... 好长时间不用,有点忘了,偶尔翻到,记录一下 @echo off setlocal chcp 65001 set U_PATH ...

  3. rocketmq-exporter部署(干货)

    简单介绍 rocketmq_exporter是prometheus提供的用于监控rocketmq运行状态的exporter 环境 系统 版本 CentOS 7.6.1810 (Core) CPU/内存 ...

  4. Java复习篇3---基础概念

    关键字 关键字:被Java赋予了特定含义的英文单词 关键字的字母全是小写 常用的代码编辑器,针对关键字会有特殊的颜色标记,非常直观 例如: class: 用于(创建\定义)一个类,后面紧跟类名. 类是 ...

  5. Java集合-Set接口

    Set接口-介绍 Set接口的定义如下: Set是一个继承于Collection的接口,即Set也是集合中的一种.Set是没有重复元素的集合.即: Set 接口:无序,不支持索引,不可重复的集合 Se ...

  6. .Net core 基础 创建及Nlog

    一..Net Core 依赖注入 .net core3.1 之前的版本需要手动配置swagger.当前项目.net core5.0版本自动配置完成 跨域配置 1.下载依赖包 2.           ...

  7. BGP知识点总结(一)

    动态路由协议(工作范围)    1.自治系统内部的路由协议-IGP:工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换(ospf,rip,isis)    2.自治系统之间的路由协 ...

  8. 【ubuntu20】设置静态IP

    sudo gedit /etc/netplan/01-network-manager-all.yaml 修改文件为: # Let NetworkManager manage all devices o ...

  9. Django项目创建应用(二)

    四.创建应用 一个项目里可以创建多个应用,每个应用进行一种业务处理 (1)激活当前项目的环境 D:\pythonProject2023\djangoProject>activate python ...

  10. Delphi 新语法:泛型

      这里的新语法一般指Delphi7不支持的语法,高版本中会经常遇到,所以花一点时间学会使用它.泛型是一种特殊的类型.你不用一开始就指明参数的具体类型,而是先定义一个类型变量,在使用的时候再确定参数的 ...