乐于分享
好东西不私藏

Day2:Excel自动化入门:批量填充、拆分、合并

Day2:Excel自动化入门:批量填充、拆分、合并

一天早上,领导甩过来12个Excel文件

"这些数据要统一格式,合并到一个表里,下午3点前给我。"

打开一看,每个表的列名都不一样,有的叫"客户名",有的叫"客户姓名",有的干脆空着。日期格式五花八门,有的空行还混着备注。

你的内心活动大概是这样的:

这要一个个复制粘贴?

手抖一下,数据就对不上了。

改到一半,领导说格式又要换。

要是能有个工具,一键把这些表吃进去,吐出一张整整齐齐的表,该多好。

今天,我们就来做这个工具。

核心思路:把重复劳动交给程序

批量处理Excel,本质就三件事:

1. 填充:空格自动补上默认值

2. 拆分:一个单元格的内容分成几列

3. 合并:多个文件合成一张表

听起来复杂,但用AI对话来实现,其实很简单。

你只需要告诉AI:"我有一堆Excel,格式不统一,帮我写个脚本处理一下"。

然后它会问你要细节:列名怎么统一?空值填什么?哪些要拆分?

你回答完,它就会给你一个能直接运行的脚本。

第一步:批量填充空值

场景

你有一张客户表,"联系方式"这一列有很多空格,你想全部填成"暂无"。

跟AI的对话

你:

> 我有一张Excel,有一列叫"联系方式",很多单元格是空的,我想把这些空格都填成"暂无",怎么做?

AI会告诉你:

> 用pandas库的fillna()方法就行。

然后给你一段代码:

```python

import pandas as pd

# 读取Excel

df = pd.read_excel('客户表.xlsx')

# 空值填充

df['联系方式'] = df['联系方式'].fillna('暂无')

# 保存

df.to_excel('客户表_填充后.xlsx', index=False)

print('完成!')

```

试试看

把代码复制到你的编辑器,改一下文件名,运行一次。

是不是一行代码就搞定了?

第二步:批量拆分单元格

场景

"姓名"列里,有的写的是"张三(销售部)",你想把姓名和部门拆成两列。

跟AI的对话

你:

> Excel里有一列"姓名",格式是"名字(部门)",我想拆成两列:一列姓名,一列部门,怎么做?

AI会告诉你:

> 用正则表达式提取。

代码示例:

```python

import pandas as pd

import re

df = pd.read_excel('员工表.xlsx')

# 拆分

def split_name(text):

match = re.match(r'(.+?)((.+?))', str(text))

if match:

return match.group(1), match.group(2)

return text, ''

df['姓名'], df['部门'] = zip(*df['姓名'].apply(split_name))

df.to_excel('员工表_拆分后.xlsx', index=False)

print('完成!')

```

注意事项

拆分前,先检查一下数据的格式是不是统一。

如果有的是"张三(销售部)",有的是"李四-市场部",就要分情况处理。

第三步:批量合并多个Excel

场景

你有12个月的销售表,要合并成一个年度总表。

跟AI的对话

你:

> 我有12个Excel文件,分别是1月到12月的销售数据,列名都一样,我想合并成一个文件,怎么做?

AI会告诉你:

> 用glob批量读取,然后concat合并。

代码示例:

```python

import pandas as pd

import glob

# 获取所有Excel文件

files = glob.glob('销售表_*.xlsx')

# 逐个读取并合并

all_data = []

for file in files:

df = pd.read_excel(file)

all_data.append(df)

# 合并

result = pd.concat(all_data, ignore_index=True)

# 保存

result.to_excel('年度销售总表.xlsx', index=False)

print(f'合并完成!共{len(result)}行数据')

```

小技巧

合并前,建议检查一下每个文件的列名是否一致。不一致的话,要先统一。

今天的工具:Excel批量处理器

把上面三个功能合到一起,就是一个完整的"Excel批量处理工具"。

核心逻辑:

1. 批量读取文件

2. 统一列名

3. 填充空值

4. 拆分复杂单元格

5. 合并输出

你可以把这个脚本保存下来,以后遇到类似需求,改几个参数就能用。

注意事项

1. 先备份原始数据

处理前,把原始文件复制一份到别的文件夹。

万一脚本把数据改错了,还能恢复。

2. 检查数据格式

合并前,看看每个文件的列名、数据类型是不是一致。

不一致的话,要先统一。

3. 分批处理

文件特别多的时候,不要一次全读进来。

可以分成几个批次,每次处理10-20个,避免内存爆炸。

今天你学到了什么?

✅ 用pandas批量读取Excel

✅ 用fillna()填充空值

✅ 用正则表达式拆分单元格

✅ 用concat合并多个文件

核心收获:Excel批量处理的关键,不是记住每一行代码,而是知道"这件事可以怎么做"。

遇到问题,告诉AI你的需求,它会帮你写代码。

明天预告

今天处理的是本地文件。

明天,我们要从多个文件里提取数据,告别一个一个打开、复制、粘贴的低效操作。

Day 3:多文件合并工具,一键把散落在各个角落的数据拉到一起。

相关学习资料