Python 无废话-办公自动化Excel写入操作

本文详细介绍了使用Python的openpyxl库进行Excel文件的操作,包括创建和保存文件,创建与删除工作表,单元格写入,批量数据写入,以及读取并筛选数据并写入新文件。还展示了如何设置公式并自动填充功能。
摘要由CSDN通过智能技术生成

Python 办公自动化-Excel写入

创建并保存Excel文件

import openpyxl

workbook=openpyxl.Workbook() #创建空Excel文件

sheet=workbook.active #获取活动的工作表

sheet.title=“测试“ #修改sheet工作表名称为测试

workbook.save(“data\input\Test.xlsx”) #保存Excel文件

创建&删除工作表

#创建工作sheet,默认sheet1,sheet2…依次递增

workbook.create_sheet()

#通过关键字参数,指定工作表索引,创建工作表

workbook.create_sheet(index=0,title="测试1")

#删除指定的工作表

del workbook["Sheet"]

workbook.remove(workbook["测试"])

写入某个单元格

import openpyxl

workbook=openpyxl.Workbook()

sheet=workbook.active

sheet[“A1”]=“产品名称”  #产品名称写入A1单元格

sheet[“A2”]=“华为手机”  #华为手机写入A2单元格

workbook.save("data\input\Test.xlsx")

批量向单元格写入数据

import openpyxl

workbook=openpyxl.Workbook()

sheet=workbook.active

data_list=[

    ["产品编号","产品名称","零售价格","销售数量"],

    ["A1001", "PG手机", "4500", "18"],

    ["A1002", "HW电脑", "7500", "5"],

    ["A1003", "HW平板", "2300", "10"],

    ["B1001", "HW手机", "5500", "12"],

    ["B1001", "HW手机", "5500", "12"]

]

for row in data_list:

    sheet.append(row)

workbook.save("data\input\Test.xlsx")

读取A Excel文件筛选后写入B Excel文件

from openpyxl import load_workbook

from openpyxl import Workbook

def filter_excel(source_file, target_file):

    # 打开源文件和目标文件

    source_wb = load_workbook(source_file)

    target_wb = Workbook()

    # 获取源文件和目标文件的工作表

    source_sheet = source_wb.active

    target_sheet = target_wb.active

    #写入标题列

    title_row = list(source_sheet.iter_rows(min_row=1, max_row=1,max_col=4, values_only=True))[0]

    target_sheet.append(title_row)

    # 遍历源文件的每一行

    for row in source_sheet.iter_rows(min_row=2,max_row=29,min_col=1,max_col=4):

        # 获取价格所在的列索引

        price = row[2].value

        # 检查价格是否大于5000

        if price and price > 5000:

            # 将符合条件的行写入目标文件,遍历每行的单元格的值,以列表形式返回

            target_sheet.append([cell.value for cell in row])

    # 保存目标文件

    target_wb.save(target_file)

# 调用函数

filter_excel("data\input\销售明细表.xlsx", "data\input\Test.xlsx")

效果如下

写入公式,并自动填充

#openpyxl 设置公式并自动填充
import openpyxl
from openpyxl.utils import get_column_letter

workbook = openpyxl.load_workbook("data\input\Test.xlsx")
worksheet = workbook.active
#设置公式 自动填充
for row in range(2,worksheet.max_row+1):
    cell_formula = f'=C{row}*D{row}'
    worksheet[f'E{row}'] = cell_formula

workbook.save("data\input\Test.xlsx")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值