You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CSV文件日期列拆分:如何将YYYY-MM-DD格式拆分为年、月、日列?

嘿,这个需求太常见了!我来给你分享几个不同工具下的实现方法,你可以根据自己的使用场景来选:

用 Excel/Google Sheets 实现

如果你用的是表格工具,有两种简单的方式:

方法1:用日期函数提取

假设你的「Date」列在A列,想在B、C、D列分别生成年、月、日:

  • 在B2单元格输入公式:=YEAR(A2),按回车后下拉填充整列,就能得到所有年份
  • 在C2单元格输入公式:=MONTH(A2),下拉填充得到月份
  • 在D2单元格输入公式:=DAY(A2),下拉填充得到日期

方法2:数据分列(直接拆分文本)

因为你的日期格式是固定的YYYY-MM-DD,用分列功能更高效:

  1. 选中整个「Date」列
  2. 点击顶部菜单栏的「数据」→「分列」
  3. 第一步选择「分隔符号」,点击下一步
  4. 勾选「其他」,输入-作为分隔符,点击下一步
  5. 可以给每一列设置数据格式(比如选「常规」或「数值」),最后点击完成,就能直接拆成三列
用 Python Pandas 实现

如果是用代码处理CSV,Pandas是最方便的选择:

首先先读取你的CSV文件:

import pandas as pd
df = pd.read_csv('你的文件名.csv')

方法1:直接拆分文本列

如果「Date」列是字符串类型,直接按-拆分:

# 拆分后生成三列,直接添加到DataFrame里
df[['YEAR', 'MONTH', 'DAY']] = df['Date'].str.split('-', expand=True)
# 如果需要把这三列转成整数类型(默认是字符串)
df[['YEAR', 'MONTH', 'DAY']] = df[['YEAR', 'MONTH', 'DAY']].astype(int)

方法2:用日期处理函数(更严谨)

先把「Date」列转成日期类型,再提取年、月、日,这样能避免一些格式不规范的问题:

# 把字符串列转成日期类型
df['Date'] = pd.to_datetime(df['Date'])
# 分别提取年、月、日
df['YEAR'] = df['Date'].dt.year
df['MONTH'] = df['Date'].dt.month
df['DAY'] = df['Date'].dt.day
用 SQL 实现

如果你的CSV已经导入到数据库里(比如MySQL、PostgreSQL),可以用内置的日期函数提取:

查询时提取

以MySQL为例,假设表名是your_table,日期列是date_col:

SELECT
  YEAR(date_col) AS YEAR,
  MONTH(date_col) AS MONTH,
  DAY(date_col) AS DAY,
  -- 这里加上你需要的其他列
FROM your_table;

新增列并填充数据

如果想直接在表中新增三列并填充数据:

-- 先新增三个整数类型的列
ALTER TABLE your_table ADD COLUMN YEAR INT, ADD COLUMN MONTH INT, ADD COLUMN DAY INT;
-- 填充数据
UPDATE your_table
SET
  YEAR = YEAR(date_col),
  MONTH = MONTH(date_col),
  DAY = DAY(date_col);

这些方法应该能覆盖大多数场景啦,要是你用的是其他工具,随时说,我再补充对应的方案~

内容的提问来源于stack exchange,提问作者steve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:06:01