一个python数据帧' dff'包含从SAS导入的数据的日期字段的类型如下所示:python:
dff.effvdate.head()
Out[47]:
0 b'09JUL2013'
1 b'17OCT2013'
2 b'03MAR2014'
3 b'08MAY2014'
4 b'10MAR2015'
Name: effvdate, dtype: object
我正在尝试将此日期转换为datetype,如下所示:
dff['REPORT_MONTH'] =[dt.datetime.strptime(d,"%d%b%Y").date() for d in dff['effvdate']]
显示此错误
TypeError: strptime() argument 1 must be str, not bytes
由于我是python的新手,需要帮助。
答案 0 :(得分:0)
错误TypeError: strptime() argument 1 must be str, not bytes
为您提供了解您需要的信息! d
以字节为单位,而不是字符串。你应该把d转换成字符串。
dff['REPORT_MONTH'] =[dt.datetime.strptime(d.decode('UTF-8'),"%d%b%Y").date() for d in dff['effvdate']]
应该有用。
请参阅What does the 'b' character do in front of a string literal?