删除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. 洛谷 P4048更新题面

    [JSOI2010]冷冻波 题目描述 WJJ 喜欢"魔兽争霸"这个游戏.在游戏中,巫妖是一种强大的英雄,它的技能 Frozen Nova 每次可以杀死一个小精灵.我们认为,巫妖和小 ...

  2. RabbitMQ-00-Windows10安装RabbitMQ及安装使用过程中遇到的一些问题

    Window系统安装教程 安装参考博客:https://blog.csdn.net/spl545056/article/details/81392015 重装RabbitMQ时遇到的问题 安装提示成功 ...

  3. docker 部署minio

    1 docker pull minio/minio:RELEASE.2022-08-26T19-53-15Z 2 docker run -p 9000:9000 -p 9090:9090  --nam ...

  4. VS2015使用gitee插件进行协同开发

    众所周知,软件项目壮大后是需要安装git,svn这些协同软件来进行合作开发的.最近接了一位电气工程师的活,让我帮忙开发一套上位机,这位工程师年数已高,仍热心学习编程每日至深夜.于是乎,我们商讨之下便决 ...

  5. io流转换为Multipart文件

    io流转换为Multipart文件 个人的话是运用到了minio文件服务器保存文件,前端(vue)异步上传文件后,由于要提升用户体验效果,先上传文件到后台服务器,返回视频在文件服务器的link()参数 ...

  6. pyqt5离线安装教程

    目前总结的安装pyqt5,需要的离线安装包,除了每一个包要跟系统版本适配之外,还要考虑包跟包之间的适配.pyqt5跟它开头的一些包要保持是同一个版本,至少有2个小数点的位数是一样的才行,qt5跟它开头 ...

  7. 全面jmeter逻辑控制器案例详解

    逻辑控制器作用: (1)控制测试计划或者线程组中节点的逻辑执行顺序. (2)对测试计划或者线程组中的脚本进行分组.方便jmeter统计执行结果以及脚本运行时的控制等.jmeter中逻辑控制器(Logi ...

  8. memoの关于Qt的一些用法记录

    Qt自动调整窗口尺寸 之前写过,方法就是: QTimer::singleShot(0, this, [this]{ this->adjustSize(); }); 重复记录一下. 如何把一个Mo ...

  9. java对excel的操作

    1.对比任意两张excel表是否有不同行 并输出哪一行那一列不同 2.包含解析合并单元格方法 3.比较主要思路 a.解析excel: b.遍历第一张表数据所有行 c.遍历第二张表数据所有行 d.遍历第 ...

  10. 12.java链表栈和数组栈

    栈是一个先入后出的有序列表,栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,一端为变化的一端,称为栈顶,另一端是固定的,称为栈底.先入的元素在栈底,最后放入的元素在栈顶,删除 ...