在日常的工作中,对 Excel 的操作必不可少,如果波及到大量的 Excel 操作的话,手动解决效率还是比拟低的,因而 Excel 主动话齐全有必要,明天派森酱就和大家分享一下如何利用 Python 来批量化解决 Excel。
装置
Python 操作 Excel 次要用到两个库 xlrd 和 xlwt,前者负责读,后者负责写。
能够间接通过 pip 命令装置这两个库。
pip3 install xlrd
pip3 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.nrows
print(rows)
# 输入后果
4
cols = table.ncols
print(cols)
# 输入后果
3
print(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' 1
text:'age' 1
text:'sex' 1
text:'张三' 1
number:18.0 2
...
通过行和列向 Excel 中写入数据,写入数据就须要用到 xlwt 这个库了。
import xlwt
workbook = 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_PATTERN
pattern.pattern_fore_colour = 2
style = xlwt.XFStyle()
style.pattern = pattern
worksheet.write(4, 4, '填充色彩', style)
# 边框款式
borders = xlwt.Borders()
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THICK
style = xlwt.XFStyle()
style.borders = borders
worksheet.write(5, 5, '边框款式', style)
# 合并单元格
worksheet.write_merge(6, 7, 7, 9, '合并单元格') # 合并 6-7 行,7-9 列
总结
明天和大家分享了如何通过 Python 来批量解决 Excel,心愿能进步一下小伙伴们的工作效率。
以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python 编程学习圈 ,每日干货分享,发送“J”还可支付大量学习材料,内容笼罩 Python 电子书、教程、数据库编程、Django,爬虫,云计算等等。或是返回编程学习网,理解更多编程技术常识。