首页 > 编程语言 ># yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)

# yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)

时间:2023-10-10 23:03:49浏览次数:40  
标签:yyds 粉丝 代码 Excel value cell 盘点 ws iloc

大家好,我是皮皮。

一、前言

前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。上一篇【论草莓如何成为冻干莓】大佬给出的方法太深奥了,粉丝没有看懂,这一篇文章,一起来围观大佬在粉丝的代码基础上进行修改出正确的代码。

二、实现过程

这里是【论草莓如何成为冻干莓】大佬一眼就看出了问题所在,指出了两个问题,如下所示:

# yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)_数据

在粉丝的追问下,【论草莓如何成为冻干莓】大佬给了一个代码,如下所示:

import pandas as pd
from shutil import copyfile

df = pd.read_excel("付款信息.xlsx")

df.insert(1, '占位符1', pd.NA)
df.insert(len(df.columns) - 1, '占位符2', pd.NA)
df['文件'] = df.index // 3

def to_excel(dataframe):
    with pd.ExcelWriter(filename, engine='openpyxl', mode='a', if_sheet_exists='overlay') as excel:
        sh = excel.book.active
        sheet_name = sh.title
        startrow=dataframe.name % 3 * 9 + 2
        # 模版中有合并单元格,先取消合并
        sh.unmerge_cells(f'B{startrow + 1}:G{startrow + 1}')
        # 数据写入
        dataframe.to_excel(excel, index=False, header=False, sheet_name=sheet_name, startcol=1, startrow=startrow)
        # 将之前拆分的单元格再次合并
        sh.merge_cells(f'B{startrow + 1}:G{startrow + 1}')

# 按文件分组写入
for g, data in df.groupby('文件', as_index=False):
    filenum = data.pop('文件').iloc[0]
    # 复制模版文件做备用
    filename = copyfile("付款申请单.xlsx", f'付款申请单_{filenum}新文件.xlsx')
    # 将数据按行遍历
    data.apply(to_excel, axis=1)

顺利地解决了粉丝的问题。不过这个代码确实有难度,粉丝理解起来比较费力,大佬给加了注释,比粉丝自己写的那个代码更好理解。

# yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)_Python_02

后来【论草莓如何成为冻干莓】大佬帮助粉丝也优化了他自己之前的代码,如下所示:

ws.cell(3,2).value = v.iloc[0,0]
    ws.cell(5, 2).value= v.iloc[0,1]
    ws.cell(6, 2).value= v.iloc[0,2]
    ws.cell(8, 2).value= v.iloc[0,3]
    if len(v) >= 2:
        ws.cell(12, 2).value= v.iloc[1,0]
        ws.cell(14, 2).value= v.iloc[1,1]
        ws.cell(15, 2).value= v.iloc[1,2]
        ws.cell(17, 2).value= v.iloc[1,3]
        if len(v) >= 3:
            ws.cell(21, 2).value= v.iloc[2,0]
            ws.cell(23, 2).value= v.iloc[2,1]
            ws.cell(24, 2).value= v.iloc[2,2]
            ws.cell(26, 2).value= v.iloc[2,3]

# yyds干货盘点 #盘点一个Python自动化办公Excel数据填充实战案例(下篇)_模版_03

下一篇文章,我们一起来看看粉丝在实际运行中,自己会遇到的问题!敬请期待!

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python自动化办公的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【上海新年人】提问,感谢【论草莓如何成为冻干莓】、【瑜亮老师】、【FANG.J】、【袁学东】、给出的思路和代码解析,感谢【

标签:yyds,粉丝,代码,Excel,value,cell,盘点,ws,iloc
From: https://blog.51cto.com/u_13389043/7800633

相关文章

  • python读取excel测试用例数据
     #excel_readUtil.pyfromopenpyxlimportload_workbookimportpandasclassHandleExcel:"""封装excel文件处理类"""def__init__(self,filename,sheetname=None):"""定义构造方法:p......
  • 使用python 读写excel表格
     1、先导入openpyxl库,如没有先用pip安装(pipinstallopenpyxl)importopenpyxl2.打开表格进行操作excel_file="文件名.xlsx"open_work_book=openpyxl.load_workbook(excel_file)sheet=open_work_book.active3、对表格操作后进行保存sheet.cell(row=row[0].row,col......
  • POI java 对Excel导入导出 java poi操作excel
    入门案例:从Excel文件读取数据1:新建excel表格(名称:HelloWord):表格地址:C:\Users\MrFan\Desktop\helloWord.xlsx2:引入依赖:登录后复制<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</versi......
  • 数据重整:用Java实现精准Excel数据排序的实用策略
    摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在数据处理或者数据分析的场景中,需要对已有的数据进行排序,在Excel中可以通过排序功能进行整理数据。而在Java中,则可以借助Excel表格插件对数......
  • 高效数据传输:Java通过绑定快速将数据导出至Excel
    摘要:本文由葡萄城技术团队于博客园原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言把数据导出至Excel是很常见的需求,而数据的持久化,往往又放在数据库中。因此把数据库中的数据导出到Excel中,成了非常普遍的一个需求......
  • 已经安装了Excel,提示“您没有安装Excel软件!”
    已经安装了Excel,提示“您没有安装Excel软件!” 1)重新安装Office ----------------------2)修改注册表 找到excel图标,点击右键,发现出现没有安装excel的提示,可能是安装版本的问题,也有可能是注册表被删除 win+R键,跳出运行弹窗,输入regedit,点击确认 选择打开HKEY_LOCAL_MACHINE文件......
  • 盘点一个Python自动化办公Excel数据填充实战案例(上篇)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公的问题,一起来看看吧。有个表格,里面每行信息,如下图所示:现在需要将数据贴到另一个文件指定单元格中,另一个文件是这样子的。下图是他的原始数据和他想得到的目标数据,一页有三个,如下所......
  • 高效数据管理:Java助力实现Excel数据验证
    摘要:本文由葡萄城技术团队原创并首发。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。前言在Java中,开发者可以使用一些开源的库(如ApachePOI)来添加、修改和处理Excel中的数据:包括数字、文本、日期、列表等。每种数据验证类型都具有不......
  • python Excel添加Excel附件
    #"""#插入附件importwin32com.clientif__name__=="__main__":filename=r"23年09月.xlsx"xlApp=win32com.client.Dispatch('Excel.Application')xlApp.Visible=0#0不可见,1可见workbook=xlApp.Wo......
  • Python 图片管理工具介绍(筛像素+从文件夹取出图片并放到文件夹内+excel读取)
    功能介绍:这是一个Python脚本工具,用于批量管理和复制图片。其主要功能如下:从Excel表格读取数据:程序使用openpyxl库从Excel文件中读取数据,其中A列包含源图片的路径(可以有多个路径,用逗号分隔),B列包含目标目录。图片筛选:仅复制最小维度大于800像素的图片,这可以确保目标目录中的......