三种方法批量填充订单表中的空白单元格--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填充数据的多种方法,欢迎大家来看哟。最后麻烦大家点一个免费的赞赞和订阅哈,嘻嘻嘻。