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

如何将数据列中的数字月份转换为月份名称?

嘿,这个需求太常见啦!我给你整理了几种常用工具的实现方法,你可以根据自己的场景来选:

在Excel中转换

有两种简单的方式:

  • TEXT函数法:直接利用日期格式转换,公式非常简洁。假设你的月份数字在A列,在B1单元格输入:
    =TEXT(A1*28,"mmmm")
    然后下拉填充就行。原理是把数字转成一个对应月份的日期(比如7*28=196,对应1900年7月16日),再提取完整月份名称。
  • CHOOSE函数法:适合需要自定义月份名称的场景(比如要中文或者缩写),公式如下:
    =CHOOSE(A1,"January","February","March","April","May","June","July","August","September","October","November","December")
    这个就是按数字顺序直接映射对应的名称,灵活度很高。
在Python中转换(以Pandas处理数据集为例)

如果是用Pandas处理表格数据,有两种常用方案:

  • Datetime转换法:把数字列转成日期格式,再提取月份名称:
    import pandas as pd
    
    # 假设你的数据框是df,月份列叫'month'
    df['month_name'] = pd.to_datetime(df['month'], format='%m').dt.month_name()
    
    这样直接就能得到完整的英文月份名称,要是想要缩写的话,把month_name()改成month_abbr()就行。
  • Calendar模块映射法:用Python内置的calendar模块来做映射,也很直观:
    import pandas as pd
    import calendar
    
    df['month_name'] = df['month'].apply(lambda x: calendar.month_name[x])
    
    同样,calendar.month_abbr[x]可以得到缩写(比如Jul、Aug)。
在SQL中转换

不同数据库的函数略有不同,给你几个主流的例子:

  • MySQL:用MONTHNAME()函数,先把数字转成日期再提取名称:
    SELECT MONTHNAME(STR_TO_DATE(month_column, '%m')) AS month_name
    FROM your_table;
    
  • SQL Server:通过构造日期来提取月份名称:
    SELECT DATENAME(month, DATEADD(month, month_column - 1, '1900-01-01')) AS month_name
    FROM your_table;
    
  • PostgreSQL:用TO_CHAR和TO_DATE组合转换:
    SELECT TO_CHAR(TO_DATE(month_column::text, 'MM'), 'FMMonth') AS month_name
    FROM your_table;
    

要是你用的是其他工具(比如R、Power BI之类的),随时说出来我再补充细节~

内容的提问来源于stack exchange,提问作者Z.L

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:51:49