pandas 将数据类型('O')转换为日期DD/MM/YYYY

9jyewag0  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(102)

我是一个编程的乞丐,并为我的小企业开始了一个项目。
我用panda导入了一个xlsx文件,得到了每列都有dtype('O')的表
me sheet
但是我找不到一种方法可以只获取DD/MM/YYYY格式的日期
有什么建议吗?
我已经试过这个代码

tabela['dt_nasc'] = pd.to_datetime(tabela['dt_nasc'], format='%m/%d/%Y')

但结果是

ValueError: time data '1988-10-24 00:00:00' does not match format '%m/%d/%Y' (match)

我还试了另一种密码

import datetime
def convert_to_date(x):
    return datetime.datetime.strptime(x , '%Y-%m-%d %H:%M:%S')
    
    tabela.loc[:, 'dt_nasc'] = tabela['dt_nasc'].apply(convert_to_date)
    
    # better to use a lambda function
    tabela.loc[:, 'dt_nasc'] = tabela['dt_nasc'].apply(lambda x:datetime.datetime.strptime(x , '%Y-%m-%d %H:%M:%S'))

但找不到以DD/MM/YYYY格式打印的方法

r1zhe5dt

r1zhe5dt1#

示例

s = pd.Series({0: '2022-11-29 13:00:00', 1: '2022-11-30 13:48:00'})

s

0    2022-11-29 13:00:00
1    2022-11-30 13:48:00
dtype: object <-- chk dtype

代码

对象到日期时间

pd.to_datetime(s)

result

0   2022-11-29 13:00:00
1   2022-11-30 13:48:00
dtype: datetime64[ns] <--chk dtype

result转换为日-月-年-时-分-秒

pd.to_datetime(s).dt.strftime('%d-%m-%Y %H:%M:%S')

0    16-11-2022 13:00:00
1    17-11-2022 13:48:00
dtype: object <--chk dtype

result转换为日/月/年

pd.to_datetime(s).dt.strftime('%d/%m/%Y')

0    29/11/2022
1    30/11/2022
dtype: object <-- chk dtype

相关问题