使用openpyxl模块对Excel操作
导入模块方式
import openpyxl
from openpyxl import Workbook
创建一个工作表
wb = Workbook()
ws操作sheet页
sheet = wb.activate()
给默认sheet命名
sheet.title = 'new sheet'
指定单元格写入内容
sheet['B1'] = 'name_num'
批量在单元格写入内容(及时关闭)
sheet.cell(idx + 2, 1, value=name) #此时idx,name,为变量
wb.save(newExcel) # 保存写入内容的表格
例子:两种函数(写入单元格内容)
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File : excel_test.py
@Time : 2021/12/16 14:28:47
@Author : poowicat
@Version : 1.0
@Contact : 2496248975@qq.com
@License : (C)Copyright 2021-20, poowicat-Persional-CASIA
@Desc : None
'''
import openpyxl
from openpyxl import Workbook
def add_excel(write, Row, Column, excel_path):
"""j为Row 行,k为Column列
在现有xlsx文件的基础上,追加写入内容
"""
wb = openpyxl.load_workbook(excel_path)
sheet = wb['脱敏说明1'] # 此时保证sheet1存在
sheet.cell(Row, Column).value = write
wb.save(excel_path)
def write_to_excel(value, sheet_name, header_num, header_name, Row, Column, save_excel):
"""创建Excel表格文件,并写入内容
value:写入单元格的值
sheet_name: 默认sheet命名
header_num:行头序号,或列头序号 例如:'a1' 'B1'
header_name: 行头名,或列头名
Row:需要写入内容的单元格行号
Column:需要写入内容的单元格列号
save_excel: 保存此表格的路径
注意: 此函数写入会 覆盖 现有的同路径Excel文件
"""
wb = Workbook() # 创建一个工作表
sheet = wb.active # ws操作sheet页
sheet.title = sheet_name
sheet[header_num] = header_name
sheet.cell(Row, Column, value)
wb.save(save_excel)
if __name__ == "__main__":
filename = './(demo)脱敏测试(V2.0).xlsx'
add_excel('write_in_something.bag', 8, 2, filename)
write_to_excel('something', '测试的sheet名称', 'C1',
'C1单元格内容', 4, 2, './demo.xlsx')
print('写入内容完毕!!')
总结:
以上小demo例子:
add_excel()函数是,可以用于批量写入内容到excel文件(追加写入)
write_to_excel()函数是,可以用于创建excel,并写入内容到excel中,注意:此函数若用于第二次相同的文件,会覆盖前面写入的内容。(若更改文件名或路径,不会覆盖)