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

如何使用Python将yyyymmdd格式数字字符串转换为星期?

Python实现yyyymmdd格式转星期全称

单个值转换

如果是单个yyyymmdd格式的数字(比如20230102),用Python标准库datetime模块即可处理:

from datetime import datetime

date_num = 20230102
# 转字符串后按格式解析为日期对象
date_obj = datetime.strptime(str(date_num), "%Y%m%d")
# 获取英文星期全称
weekday = date_obj.strftime("%A")
print(weekday)  # 输出: Monday

处理一列数据

如果是批量处理一列数字数据,分两种场景实现:

用pandas快速处理

适合数据量较大的表格场景:

import pandas as pd

# 示例数据
df = pd.DataFrame({"date_num": [20230102, 20230103, 20230104]})
# 转换为日期格式后提取星期全称
df["weekday"] = pd.to_datetime(df["date_num"], format="%Y%m%d").dt.day_name()
print(df)

输出结果:

date_num    weekday
0  20230102     Monday
1  20230103    Tuesday
2  20230104  Wednesday

原生Python列表推导式处理

不需要第三方库时可用:

date_nums = [20230102, 20230103, 20230104]
weekdays = [datetime.strptime(str(num), "%Y%m%d").strftime("%A") for num in date_nums]
print(weekdays)  # 输出: ['Monday', 'Tuesday', 'Wednesday']

注意事项

strftime("%A")默认跟随系统语言,若需强制返回英文星期,可指定locale:

import locale
locale.setlocale(locale.LC_TIME, 'en_US.UTF-8')
# 之后执行转换即可得到固定英文结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 22:40:24