使用 Pandas 实现 Excel 数据拆分实战

🧾 项目背景

        在日常的数据处理过程中,我们经常会遇到某些字段中包含多个信息的情况。
例如:

  • 时间字段同时包含“年月日”和“时分秒”;
  • 地址字段包含省市区;
  • 品牌名称与编号混合存储。

这时候我们就需要对这些字段进行拆分,以便后续分析或建模使用。

本文将通过一个完整的 Python 脚本示例,演示如何使用 pandas 对 Excel 文件中的 时间列 进行拆分,并将结果写入新工作表。

📁 数据说明

        假设你有一个名为 测试表2.xlsx 的 Excel 文件,其中包含如下字段:

品牌创建时间
A品牌2024-10-05 14:30:00
B品牌2023-11-12 09:15:00
C品牌2024-12-25 18:45:00

我们的目标是:

  • 将“创建时间”列拆分为“年月日”和“时分秒”两个新列;
  • 提取这两个字段并保存到新的工作表中。

🧪 脚本解析

 1. 导入库并读取数据

import pandas as pd

# 读取Excel文件,并设置“品牌”列为索引
brand = pd.read_excel('测试表2.xlsx', index_col='品牌')

index_col='品牌' 将品牌列设为行标签,方便后续操作。

2. 字段类型转换

# 将“创建时间”列转换为字符串类型,便于拆分
brand['创建时间'] = brand['创建时间'].astype(str)

默认情况下,“创建时间”列可能被识别为 datetime 类型,为了使用字符串操作,先将其转为 str 类型。

3.  拆分字段

# 使用空格作为分隔符进行拆分,expand=True 表示返回 DataFrame
dt = brand['创建时间'].str.split(expand=True)

拆分后,dt[0] 是“年月日”,dt[1] 是“时分秒”。

4.  添加新列并提取字段

# 新增两列,分别保存年月日和时分秒
brand['年月日'] = dt[0]
brand['时分秒'] = dt[1]

# 提取所需字段组成新DataFrame
new_data = brand[['年月日', '时分秒']]

此时 new_data 中只保留了我们关心的两个字段。

5. 打印结果(调试用)

print(brand)

可用于查看原始数据和新增字段的内容。

6. 写入 Excel 文件

# 将结果写入原Excel文件的新sheet中
with pd.ExcelWriter('测试表2.xlsx', mode='a', engine='openpyxl', if_sheet_exists='replace') as writer:
    new_data.to_excel(writer, sheet_name='处理后数据', index=True)

使用 openpyxl 引擎支持 .xlsx 格式;if_sheet_exists='replace' 表示如果已存在该 sheet,则替换内容。

✅ 示例输出

        运行脚本后,你将在 测试表2.xlsx 中看到新增的 处理后数据 工作表,内容如下:

品牌年月日时分秒
A品牌2024-10-0514:30:00
B品牌2023-11-1209:15:00
C品牌2024-12-2518:45:00

📝 总结

        本文通过一个实际案例,介绍了如何使用 pandas 对 Excel 数据进行:

  • 字段类型转换
  • 字符串拆分
  • 新增字段提取
  • 结果写入原文件

这些操作是数据预处理阶段非常常见的任务,掌握它们有助于提升数据分析效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值