python中excel库_python中利用openpyxl、xlsxwriter库操作Excel

删除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) # 保存文件

往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.append(data)

wb.save(io)

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

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

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= 11self.font_color= 0x0self.font_strikeout=0

self.font_outline=0

self.font_shadow=0

self.font_script=0

self.font_family= 2self.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= 1self.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

格式

后续更新中。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值