让Excel效率起飞的Python库有哪些
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,本篇内容主要讲解"让Excel效率起飞的Python库有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"让Excel效率起飞的Python库有哪些"吧!
千家信息网最后更新 2026年10月31日让Excel效率起飞的Python库有哪些
本篇内容主要讲解"让Excel效率起飞的Python库有哪些",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"让Excel效率起飞的Python库有哪些"吧!
Xlwings
Xlwings是非常强大的处理Excel的库,无论是Windows还是Mac,Excel还是WPS,都可以使用。
它功能非常齐全,能十分方便地新建、打开、修改、保存Excel,可以和matplotlib、numpy以及pandas无缝连接,支持读写numpy、pandas数据类型,将matplotlib可视化图表导入到excel中。另外,还可以调用Excel文件中VBA写好的程序,也可以让VBA调用Python写的程序。
import xlwings as xw #导入库 app = xw.App(visible=True,add_book=False) wb = app.books.add() #打开Excel程序 wb = xw.Book('example.xlsx') #打开已有工作簿 wb.save('example.xlsx') #保存工作簿 wb.close() #退出工作簿(可省略) app.quit() #退出Excel sht = wb.sheets[0] #引用工作表,括号内是第一个sheet名 rng = sht.range('a1') #rng = sht['a1'] #引用单元格,第一行的第一列即a1 rng = sht.range('a1:a5') #引用区域 sht.range('a1').value = 'Hello' #单元格A1,写入字符串‘Hello’ sht.range('a1').value = [1,2,3,4] #默认按行插入:A1:D4分别写入1,2,3,4 sht.range('a2').options(transpose=True).value = [5,6,7,8] #按列插入 sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']] #多行输入 print(sht.range('a1:d4').value) #读取A1:D4 rng = sht.range('a1').expand('table') nrows = rng.rows.count a = sht.range(f'a1:a{nrows}').value #读取Excel第一列 ncols = rng.columns.count fst_col = sht[0,:ncols].value #读取Excel第一行 sht.range('A1').column #获取单元格列标 sht.range('A1').row #获取行标 sht.range('A1').column_width #获取列宽 sht.range('A1').row_height #获取行高 print(sht.range('A1').column ,sht.range('A1').row ,sht.range('A1').column_width ,sht.range('A1').row_height ) sht.range('A1').rows.autofit() #行高自适应 sht.range('A1').columns.autofit()#列宽自适应 sht.range('A1').color=(34,156,65) #给单元格A1上背景色 sht.range('A1').color #返回单元格颜色的RGB值 print(sht.range('A1').color) sht.range('A1').color = None #清楚单元格颜色 print(sht.range('A1').color) sht.range('A1').formula='=SUM(B6:B7)' #输入公式,相应单元格执行结果 sht.range('A1').formula_array #获取单元格公式 sht.range('A1').value=[['a1','a2','a3'],[1,2,3]] #向指定单元格位置写入批量信息 sht.range('A1').expand().value #使用expand()方法读取表中批量数据 print(sht.range('A1').expand().value) import numpy as np np_data = np.array((1,2,3)) sht.range('F1').value = np_data #写入numpy array数据类型 import pandas as pd df = pd.DataFrame([[1,2], [3,4]], columns=['a', 'b']) sht.range('A5').value = df #将pandas DataFrame数据类型写入excel sht.range('A5').options(pd.DataFrame,expand='table').value #将数据读取,输出类型为DataFrame import matplotlib.pyplot as plt %matplotlib inline fig = plt.figure() plt.plot([1, 2, 3, 4, 5]) sht.pictures.add(fig, name='MyPlot', update=True) #将matplotlib图表写入到excel表格里xlrd
xlrd主要是读取Excel,支持xlsx和xls格式的excel表格,可以实现指定表单、指定行列、指定单元格的读取。
import xlrd #导入库 data = xlrd.open_workbook(filename) #文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符 # 获取book中一个工作表 table = data.sheets()[0] #通过索引顺序获取 table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取 table = data.sheet_by_name(sheet_name) #通过名称获取 names = data.sheet_names() #返回book中所有工作表的名字 data.sheet_loaded(sheet_name or indx) # 检查某个sheet是否导入完毕 nrows = table.nrows #获取该sheet中的有效行数 table.row(rowx) #返回由该行中所有的单元格对象组成的列表 table.row_slice(rowx) #返回由该列中所有的单元格对象组成的列表 table.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表 table.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表 table.row_len(rowx) #返回该列的有效单元格长度 ncols = table.ncols #获取列表的有效列数 table.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表 table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表 table.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表 table.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表 table.cell(rowx,colx) #返回单元格对象 table.cell_type(rowx,colx) #返回单元格中的数据类型 table.cell_value(rowx,colx) #返回单元格中的数据
xlwt
xlwt主要是写入Excel,可以实现指定表单、指定单元格的写入,但保存的格式只支持xls格式。
import xlwt #导入模块 workbook = xlwt.Workbook(encoding='utf-8') #创建workbook 对象 worksheet = workbook.add_sheet('sheet1') #创建工作表sheet worksheet.write(0, 0, 'hello') #往表中写内容,第一各参数 行,第二个参数列,第三个参数内容 workbook.save('students.xls') #保存表为students.xls # 为内容设置style workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') # 设置字体样式 font = xlwt.Font() font.name = 'Time New Roman' # 字体 font.bold = True # 加粗 font.underline = True # 下划线 font.italic = True # 斜体 style = xlwt.XFStyle() style.font = font # 创建style worksheet.write(0, 1, 'world', style) workbook.save('students.xls') # 根据样式创建workbook # 合并单元格 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') # 通过worksheet调用merge()创建合并单元格 # 第一个和第二个参数单表行合并,第三个和第四个参数列合并, # 合并第0列到第2列的单元格 worksheet.write_merge(0, 0, 0, 2, 'first merge') # 合并第1行第2行第一列的单元格 worksheet.write_merge(0, 1, 0, 0, 'first merge') workbook.save('students.xls') # 设置单元格的对齐方式 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') alignment = xlwt.Alignment() alignment.horz = xlwt.Alignment.HORZ_CENTER # 水平居中 alignment.vert = xlwt.Alignment.VERT_CENTER # 垂直居中 style = xlwt.XFStyle() style.alignment = alignment worksheet.col(0).width = 6666 # 设置单元格宽度 worksheet.row(0).height_mismatch = True worksheet.row(0).height = 1000 # 设置单元格的高度 worksheet.write(0, 0, 'hello world', style) workbook.save('center.xls') # 设置单元格边框 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') border = xlwt.Borders() # DASHED虚线 # NO_LINE没有 # THIN实线 border.left = xlwt.Borders.THIN border.right = xlwt.Borders.THIN border.top = xlwt.Borders.THIN border.bottom = xlwt.Borders.THIN style = xlwt.XFStyle() style.borders = border worksheet.write(1, 1, 'love', style) workbook.save('dashed.xls') # 设置单元格背景色 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') pattern = xlwt.Pattern() pattern.pattern = xlwt.Pattern.SOLID_PATTERN pattern.pattern_fore_colour = 3 style = xlwt.XFStyle() style.pattern = pattern worksheet.write(1, 1, 'shit', style) workbook.save('shit.xls') # 设置字体颜色 workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') font = xlwt.Font() # 设置字体为红色 font.colour_index=xlwt.Style.colour_map['red'] style = xlwt.XFStyle() style.font = font worksheet.write(0, 1, 'world', style) workbook.save('students.xls')XlsxWriter
XlsxWriter可以用来写文本、数字、公式并支持单元格格式化、图片、图表、文档配置、自动过滤等特性,不过缺点也很明显,不能用来读取和修改Excel文件。
import xlsxwriter # 导入库 work_book = xlsxwriter.Workbook('my first.xlsx') # 创建一个excel文件,文件名为"my first.xlsx" work_sheet1 = work_book.add_worksheet() # 添加shhet1 work_sheet2 = work_book.add_worksheet('my excel.xlsx') # 添加sheet名字为my excel.xlsx work_sheet3 = work_book.add_worksheet() # 不加参数,默认添加sheet3 # write_number:写入数字 # write_blank:写入空格 # write_formula:写入公式 # write_datetime:写入时间格式 # write_boolean:写入逻辑数据 # write_url:写入链接地址 work_sheet2.write_string(0, 0, 'this is write string!') work_sheet2.write_number('A2', 123456) work_sheet2.write_blank('A3', None) work_sheet2.write_number('B1', 12) work_sheet2.write_number('B2', 24) work_sheet2.write_number('B3', 35) work_sheet2.write_formula('B7', '=sum(b1:b5)') work_sheet2.write_datetime(0, 3, datetime.datetime.strptime('2019-04-18', '%Y-%m-%d'), work_book.add_format({'num_format': 'yyyy-mm-dd'})) work_sheet1.write_boolean(0, 0, True) work_sheet1.write_url('A2', 'http://www.toutiao.com')openpyxl
openpyxl 是比较火的操作excel表格的Python库,只支持03版本之后的 xlsx。
# 创建工作簿 Workbook from openpyxl import Workbook workbook = Workbook() # 创建一个工作簿对象 workbook.save('test.xlsx') # 保存这个工作簿,命名为test # 打开已有工作簿 from openpyxl import load_workbook workbook = load_workbook('test.xlsx') # #打开当前路径下的test表格 # 创建表 # 方法1:插入到最后(default) ws1 = wb.create_sheet("Mysheet") # 方法2:插入到最开始的位置 ws2 = wb.create_sheet("Mysheet", 0) # 选择现有的表 from openpyxl import load_workbook workbook = load_workbook('test.xlsx') # 打开当前路径下的test表格 sheet = workbook['first_sheet'] # 选择名字为first_sheet的表格页 # 删除表 from openpyxl import load_workbook workbook = load_workbook('test.xlsx') # 打开当前路径下的test表格 sheet = workbook['first_sheet'] # 选择名字为first_sheet的表格页 workbook.remove(sheet) #删除这张表 # 访问单元格 # 方法1 cell1 = sheet['A1'] # 方法2 cell2 = sheet.cell(row=1,column=2) cell1.value = '123456' # 设置单元格的值 sheet.merge_cells('A1:A2') #合并A1和A2单元格到此,相信大家对"让Excel效率起飞的Python库有哪些"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
单元
数据
工作
表格
对象
类型
参数
文件
方法
内容
格式
路径
支持
公式
名字
字体
效率
有效
图表
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技股
广州淘业互联网络科技
互联网是第几次科技革命的成果
北京路客互联网科技有限公司
互联网科技官网
互联网金融 科技金融
互联网 科技创新
掌上梦互联网科技
蓝色互联网科技
银川新华互联网科技学校地址
创业天下互联网科技有限公司
贵州叶脉互联网科技有限公司所属行业
明优互联网科技有限公司
智帮互联网科技公司最近动向
电子商务与互联网科技的关系
广州富喜互联网络科技
江苏互联网科技小贷
山东大美朱楼互联网科技有限公司
云鲸互联网络科技有限公司
互联网科技手机排行榜
互联网科技公司电话
云电互联网科技
互联网科技汛
青海省互联网新科技
老年人脱离互联网科技的作文
广州恒生互联网科技有限
黑科技闪耀互联网之光
互联网科技圈年度人物
银川新华互联网科技学校是国营吗
易租星互联网科技有限公司