openpyxl的基础使用
from openpyxl import Workbook
## openpyxl基本使用
wb = Workbook()
ws1 = wb.active
ws1.title = 'range names' #设置工作表标题
li_v = [['name','age','gender'],['bob',18,'male'],['tom',23,'female']] #列出单元格内需要写入的内容
for li in li_v:
ws1.append(li) #遍历li_v,并将内容添加到单元格内
ws2 = wb.create_sheet(title='Pi') #创建工作表
ws2['F4'] = 3.14 #在F4单元格写入数据
ws3 = wb.create_sheet(title='data') #创建工作表并设置标题
#设置每一列为相同字母
from openpyxl.utils import get_column_letter
for row in range(1,10):
for col in range(1,10):
c = ws3.cell(row=row,column=col,value='{}'.format(get_column_letter(col)))
dest_filename = 'empty_book.xlsx' #文件夹名
wb.save(dest_filename) #保存内容
使用数据格式(日期写入)
## 使用数据格式(日期写入)
from openpyxl import Workbook
wb = Workbook
ws = wb.active
import datetime
ws['A1'] = datetime.datetime(2020,2,19) #在A1单元格写入日期数据
print(ws['A1'].value) #读取A1单元格的值
# %yyyy --→ 年 %mm --→ 年 %dd --→ 日 2020-02-19
ws['A1'].numbver_format = 'yyyy-mm-dd h:mm:ss'
## 插入公式
ws['A2'] = '=SUM(1,1)' #使用公式在excel表格中显示求和
print(ws['A2'].value)
ws.save('formula.xlsx')
取消与合并单元格
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.merge_cells('A1:C1') #合并单元格
ws.unmerge_cells('A1:C1') #取消合并单元格
ws.merged_cells(start_row=1,end_row=1,start_column=1,end_column=3)
# 开始行 结束行 开始列 结束列
wb.save('merge.xlsx')
插入图像
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = 'see it'
from openpyxl.drawing.image import Image
img = Image('mao.jpg') #图片地址
ws.add_image(img,'A1') #将图片传入A1单元格
wb.save('image.xlsx')
折叠行或列
## 折叠行或列
from openpyxl import Workbook
wb = Workbook()
ws = wb.active # 开始列 结束列
ws.column_dimensions.group('A','D',hidden=True) #设置折叠列 hidden默认为False,表示不折叠
ws.row_dimensions.group(1,10,hidden=True) #设置行折叠
ws.save('fold.xlsx')
插入行与列
## 插入行与列
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
li_v = [['姓名','班级','性别'],['小明','1班','男']]
for li in li_v:
ws.append('li')
ws.insert_rows(1) #在第一列之前插入一行
ws.merge_cells(1) #在第一列之前插入一列
ws.merge_cells('B1:D1') #合并'B1:D1'
ws['B1'] = '班级信息'
wb.save('insert_01.xlsx')
单元格范围移动
## 单元格范围移动
ws.more_range('B3:D3',rows=2,cols=2,translate=True)
# 向上左移动 负值 向下右移动 正值
删除插入行与列
from openpyxl import load_workbook
wb = load_workbook(filename='insert_01.xlsx',read_only=False)
wb.sheetnames
sheet = wb['sheet']
sheet.delete_cols(1) #删除第一列
wb.save('inset_01.xlsx')
转载:https://blog.csdn.net/m0_54634272/article/details/115436812
查看评论