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

Python数据格式化:如何将巴西葡语日期转换为EN或PT-BR数字格式

Python实现巴西葡萄牙语日期转数字格式方案

完全可以实现转换,核心是通过locale模块加载巴西葡语的时间语言规则,识别葡萄牙语月份名称后即可自由格式化为所需的数字日期格式。

完整实现代码

import pandas as pd
from datetime import datetime
import locale

# 按操作系统二选一配置locale即可
# Windows系统
locale.setlocale(locale.LC_TIME, 'Portuguese_Brazil.1252')
# Linux/macOS系统
# locale.setlocale(locale.LC_TIME, 'pt_BR.UTF-8')

def convert_ptbr_date(raw_date, target_type='ptbr'):
    # 解析原始巴西葡语日期
    date_obj = datetime.strptime(raw_date.strip(), "%d de %B de %Y")
    # 巴西葡语标准数字格式为dd/mm/yyyy,英文标准数字格式为yyyy-mm-dd
    return date_obj.strftime("%d/%m/%Y") if target_type == 'ptbr' else date_obj.strftime("%Y-%m-%d")

# 这里直接替换成你读取原始数据的代码即可,比如df = pd.read_csv('你的文件路径.csv')
# 以下为模拟你的示例数据的代码
raw_data = {
    "Início": ["15 de março de 1985", "14 de fevereiro de 1986", "23 de novembro de 1987", "16 de janeiro de 1989", "15 de março de 1990"],
    "Fim": ["14 de fevereiro de 1986", "23 de novembro de 1987", "15 de janeiro de 1989", "14 de março de 1990", "23 de janeiro de 1992"]
}
df = pd.DataFrame(raw_data)

# 批量转换两列日期
df["Início_数字"] = df["Início"].apply(lambda x: convert_ptbr_date(x, target_type='ptbr'))
df["Fim_数字"] = df["Fim"].apply(lambda x: convert_ptbr_date(x, target_type='ptbr'))

print(df)

运行输出示例

Início                      Fim  Início_数字    Fim_数字
0      15 de março de 1985  14 de fevereiro de 1986  15/03/1985  14/02/1986
1  14 de fevereiro de 1986   23 de novembro de 1987  14/02/1986  23/11/1987
2   23 de novembro de 1987    15 de janeiro de 1989  23/11/1987  15/01/1989
3    16 de janeiro de 1989      14 de março de 1990  16/01/1989  14/03/1990
4      15 de março de 1990    23 de janeiro de 1992  15/03/1990  23/01/1992

注意事项

如果运行时提示locale配置错误,先确认操作系统已经安装了巴西葡萄牙语语言支持包即可。

内容的提问来源于stack exchange,提问作者Fabrício Reis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:51:02