在日常的工作中,对 Excel 的操作必不可少,如果波及到大量的 Excel 操作的话,手动解决效率还是比拟低的,因而 Excel 主动话齐全有必要,明天派森酱就和大家分享一下如何利用 Python 来批量化解决 Excel。

装置

Python 操作 Excel 次要用到两个库 xlrd 和 xlwt,前者负责读,后者负责写。

能够间接通过 pip 命令装置这两个库。

pip3 install xlrdpip3 install xlwt

上手

咱先来看看读取模块,有如下的 Excel 文件。

1、获取 sheet

file_path = './person.xls'data = xlrd.open_workbook(file_path)names = data.sheet_names()print(names)# 输入后果['list']

当然,咱们也能够通过下标或者名称来获取指定的 sheet。

sheet = data.sheets()[0]print(sheet)sheet = data.sheet_by_name('list')print(sheet)# 输入后果Sheet  0:<list>Sheet  0:<list>

2、行列操作

Excel 里每一个 sheet 都是由行和列组成的,先来看看行和列的操作。

rows = table.nrowsprint(rows)# 输入后果4cols = table.ncolsprint(cols)# 输入后果3print(table.row_slice(1))# 输入后果[text:'张三', number:18.0, text:'男']

通过行和列来读取 Excel 表格数据。

for row in range(rows):    for col in range(cols):        print(table.cell(row, col), table.cell_type(row, col))# 输入后果text:'name' 1text:'age' 1text:'sex' 1text:'张三' 1number:18.0 2...

通过行和列向 Excel 中写入数据,写入数据就须要用到 xlwt 这个库了。

import xlwtworkbook = xlwt.Workbook(encoding=ascii)worksheet = workbook.add_sheet('my sheet')  # 创立工作表for i in range(10):    for j in range(10):        worksheet.write(i, j, i + j)  # 写入内容workbook.save('data.xls')

当然,咱们也能够对单元格做一些设置。

# 更改列宽:worksheet.col(10).width = 256 * 20# 更改行高:style = xlwt.easyxf('font:height 360;')  # 18pt,类型小初的字号row = worksheet.row(10)row.set_style(style)# 填充色彩pattern = xlwt.Pattern()pattern.pattern = xlwt.Pattern.SOLID_PATTERNpattern.pattern_fore_colour = 2style = xlwt.XFStyle()style.pattern = patternworksheet.write(4, 4, '填充色彩', style)# 边框款式borders = xlwt.Borders()borders.left = xlwt.Borders.DASHEDborders.right = xlwt.Borders.DASHEDborders.top = xlwt.Borders.THINborders.bottom = xlwt.Borders.THICKstyle = xlwt.XFStyle()style.borders = bordersworksheet.write(5, 5, '边框款式', style)# 合并单元格worksheet.write_merge(6, 7, 7, 9, '合并单元格')  # 合并 6-7 行,7-9 列

总结

明天和大家分享了如何通过 Python 来批量解决 Excel,心愿能进步一下小伙伴们的工作效率。

以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python编程学习圈,每日干货分享,发送“J”还可支付大量学习材料,内容笼罩Python电子书、教程、数据库编程、Django,爬虫,云计算等等。或是返回编程学习网,理解更多编程技术常识。