当前位置: 首页 > news >正文

三种方法批量填充订单表中的空白单元格--python,excel vba,excel

系列文章目录

python办公自动化–数据可视化(pandas+matplotlib)–生成条形图和饼状图
python办公自动化–数据可视化(pandas+matplotlib)–生成折线图
python办公自动化–数据可视化(pandas读取excel文件,matplotlib生成可视化图表)
python办公自动化-openpyxl学习-工资表生成工资条
python办公自动化–使用将csv大文件分割为xlsx小文件
python办公自动化----使用pandas和os合并多个订单表

前言

hello,各位小伙伴大家好,今天我来向大家介绍一下如何批量填充我们excel表格中的空白单元格

在这里插入图片描述

如图所示,我们现在从公司后台导出来了一份订单表,它里面每一个订单如果购买了多个产品,就会在底下加上一列,现在我们需要将A列的订单号和B列的国家空白的单元格填充数据,怎么填充呢?
A3单元格是空白的,那么他的值应该等于A2,也就是111111,最终我们填充完以后,应该是下面这样的:
在这里插入图片描述
如果我们一个个地去复制粘贴,肯定是不行的,因为如果我们的数据有几十万行,一个个复制还不得把我们逼疯,那么怎么样批量填充这些数据呢?

下面我将用excel,vba,python这三种方法来讲解如何填充这些数据。

一、使用excel

填充数据

上面视频很好的演示了如何进行填充
首先我们ctrl+A选中数据范围,然后将数据格式设置为常规,这里如果不设置为常规,后面可能会出问题,接着我们ctrl+G定位所有的空白单元格,然后我们输入“=”,然后选择第一个被用来填充的对象,我们这里是用A2来填充A3,所以=A2,最后我们同时按下ctrl+enter,记住这里不能只是按enter,不然只会填充A3,其它空白的单元格不会填充

二、使用vba

代码如下(示例):

Sub FillBlanksForward()Dim ws As WorksheetSet ws = ThisWorkbook.Sheets("订单表") ' 确保工作表名称正确Dim rng As RangeDim cell As RangeDim lastRow As Long' 确定A列和B列的最后一行lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row' 遍历A列For Each cell In ws.Range("A1:A" & lastRow)If IsEmpty(cell.Value) Then' 向前填充A列的空白单元格cell.Value = cell.Offset(-1, 0).ValueEnd IfNext cell' 遍历B列For Each cell In ws.Range("B1:B" & lastRow)If IsEmpty(cell.Value) Then' 向前填充B列的空白单元格cell.Value = cell.Offset(-1, 0).ValueEnd IfNext cell
End Sub

我们在excel的vba编辑器里面输入上面的代码,就可以将a列和b列的数据成功向上填充了,这里需要注意的是,我们需要将工作表的名字改为“订单表”,
至于什么是vba,怎么在excel里面编写代码,大家可以看我的vba专栏部分,嘻嘻。

二、使用python

代码如下(示例):

import pandas as pd
import os
os.chdir(r"C:\Users\Admin\Desktop\图片\csdn\pandas\第九天\python填充数据")
df1=pd.read_excel("订单表.xlsx")
print("正在读取订单表")
df1["订单号"]=df1["订单号"].ffill()
print("正在填充订单号")
df1["国家"]=df1["国家"].ffill()
print("正在填充国家")
df1.to_excel("订单表填充.xlsx",index=False)
print("写入成功")

首先我们定位路径到我们的订单表.xlsx
在这里插入图片描述
这时候我们的文件夹下只有订单表.xlsx这一个文件
在这里插入图片描述
接着我们输入代码,点击运行,然后我们再看,文件夹路径下多了一个文件
在这里插入图片描述
接着我们打开这个文件,发现数据填充完毕
在这里插入图片描述

四、粉丝福利:可以直接拿来用的代码

import pandas as pd
import os
path=r"C:\Users\Admin\Desktop\图片\csdn\pandas\第九天\python填充数据"   #这里将双引号里面的内容改为你的文件所在的路劲
fllename="订单表.xlsx"     #这里将双引号里面的内容改为你的文件名
os.chdir(path)
df1=pd.read_excel(fllename)
print("正在读取文件")
df1["订单号"]=df1["订单号"].ffill()    #这里将双引号里面的内容改为你要填充的列名print("开始填充")df1.to_excel("数据填充.xlsx",index=False)
print("写入成功")

上面代码我们需要改的地方就是路径,文件名以及我们需要填充的列名,如果要填充多列,只需要将
df1[“订单号”]=df1[“订单号”].ffill() 这一列在底下进行复制,需要填充几列就复制几列,这里要注意,我们复制的内容要在print(“开始填充”)这一行之前,我中间留的空白行就是给大家用来复制的。
代码写好后点击运行,然后就会在当前路径下生成一个叫做数据填充.xlsx的表格,里面就是填充好的数据了。

总结

好啦,今天我们学了三种填充数据的方法,也复习了一下vba和python,其实python里面数据填充的种类有很多,下一期我将在python数据分析这个专栏更新python填充数据的多种方法,欢迎大家来看哟。最后麻烦大家点一个免费的赞赞和订阅哈,嘻嘻嘻。

http://www.dtcms.com/a/274704.html

相关文章:

  • 【深度学习新浪潮】图像生成有哪些最新进展?
  • linux-base-end
  • 从《哪吒 2》看个人IP的破局之道|创客匠人
  • NodeJs后端常用三方库汇总
  • css——width: fit-content 宽度、自适应
  • lesson10:Python的元组
  • UI前端与数字孪生结合实践探索:智慧农业的精准灌溉系统
  • FastAPI + SQLAlchemy (异步版)连接数据库时,对数据进行加密
  • C++(STL源码刨析/List)
  • [Meetily后端框架] Whisper转录服务器 | 后端服务管理脚本
  • 如何从0开始构建自己的第一个AI应用?(Prompt工程、Agent自定义、Tuning)
  • MyBatis:SQL与Java的智能桥梁
  • Ant Design ProTable组件深度解析
  • CUDA —— 2.3、cuda静态全局变量__device__使用介绍(附:完整代码)
  • 系统思考:多元胜过能力
  • 计算机网络第三章(5)——数据链路层《广域网》
  • 解锁形状与空间的奥秘:微分几何与流形一瞥-AI云计算拓展核心内容
  • 【C++篇】二叉树进阶(上篇):二叉搜索树
  • 云蝠智能 VoiceAgent重构企业呼入场景服务范式
  • Ubuntu20.04运行openmvg和openmvs实现三维重建(未成功,仅供参考)
  • PyTorch笔记5----------Autograd、nn库
  • 《棒球规则介绍》领队和主教练谁说了算·棒球1号位
  • sqli-labs靶场通关笔记:第1-4关 联合注入
  • ros topic和service的使用
  • 深入浅出Redis:一文掌握Redis底层数据结构与实现原理
  • Java Stream流介绍及使用指南
  • GIC控制器 (三)
  • 猿人学js逆向比赛第一届第十八题
  • 【一起来学AI大模型】微调技术:LoRA(Low-Rank Adaptation) 的实战应用
  • Linux kernel regcache_cache_only()函数详解