Python 之 处理 Excel 数据(4) —— 写数据

一、引用插件

import openpyxl
from openpyxl.utils import get_column_letter

二、对Sheet,Cell的写操作

1.获取Sheet对象

# 创建一个新的工作簿
wb = openpyxl.Workbook()

sheet = wb.active  # 获取活跃的sheet
print(sheet.title)

输出结果:

2.对Sheet进行修改/添加/删除操作

# change the name of the sheet
sheet.title = 'test2'
print(wb.get_sheet_names())

# 创建sheet;(index代表位置,title代表sheet名)
wb.create_sheet(index=0, title='test0')
wb.create_sheet(index=1, title='test1')
print(wb.get_sheet_names())

# 删除指定的sheet;
wb.remove_sheet(wb.get_sheet_by_name('test0'))
print(wb.get_sheet_names())

 输出结果:

 3.对单元格进行写操作

# 指定某个单元格
sheet['A1'] = 'Hello python'
print(sheet['A1'].value)

# 用for循环赋值,从第1-39行,赋值数字0-16
ws1 = wb.create_sheet('range names')
for row in range(1, 40):  # 1-39
    ws1.append(range(17))  # 0-16

# 数据放在List中,用for循环赋值
ws2 = wb.create_sheet('List')
rows = [
    ['Number', 'Batch 1', 'Batch 2'],
    [2, 40, 30],
    [3, 40, 25],
    [4, 50, 30],
    [5, 30, 10],
    [6, 40, 30],
    [7, 78, 52]
]
for row in rows:
    ws2.append(row)

# 从第5-29行,第15-53列,赋值对应的列字母
ws3 = wb.create_sheet(title='Data')
for row in range(5, 30):
    for col in range(15, 54):
        ws3.cell(column=col, row=row, value=get_column_letter(col))
print(ws3['AA10'].value)

4.保存文件

# 保存文件,不调用save就不会进行保存;
# 注意:当你打开文件时用"openpyxl.load_workbook('example2.xlsx')",在最后保存时要改一个新的名字,不然就会覆盖原本的文件
wb.save('example3.xlsx')

结合第3、4点,程序运行结果:

  • Sheet ‘Data’  从O列-BA列


以上为个人笔记,参考课程:【用Python处理Excel数据,中文全基础系列教程】_哔哩哔哩_bilibili

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KmKl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值