使用箭头日期操作 python 库以字符串形式解析日期
parsing dates in the form of strings using arrow date manipulating python library
我希望将字符串 "september 20 2010"
转换为 python datetime.date
object using arrow
。
我已经编写了函数来替换部分文本并以 9/20/2016 结束,但我想要 YYYY-MM-DD 格式,似乎无法让 arrow
识别我的字符串并将其转换为 python datetime.date
对象(没有任何时间)。
哪些有效,哪些无效。
arrow.get('september 20 2010', '%B %d %Y')
这对我不起作用 我收到错误消息:ParserError: Failed to match '%B %(?P<d>[1-7]) %Y'
解析字符串时 "september 20 2010"
然而,当我操作字符串然后使用 arrow.Arrow(y,m,d).date()
时,结果是一个 datetime.date(2016, 9, 20)
对象。
我无法使用 .format('dddd-DD-MMMM-YYYY')
将其转换为任何其他格式,这将 return 2010 年 9 月 20 日星期一。
使用 arrow
, you have to match the exact syntax of your string, here is the list of the associated token.
arrow.get('September 20 2010', 'MMMM D YYYY')
注意:在这种情况下,只有一个D
,因为它用一位或两位数字覆盖了数字1, 2, 3... 29, 30 而 DD
用两位数字覆盖数字 只有 01, 02, 03 ... 29, 30
获得箭头对象后,您可以使用 format() 来显示它:
ar = arrow.get('September 20 2010', 'MMMM D YYYY')
print(ar.format('YYYY-MM-DD')) # 2010-09-20
编辑
为了回答您的评论,ar
是一个 Arrow 对象,您可以检查它包含的每个方法 dir
Arrow
有一个方法 date()
其中 returns 一个 datetime.date
对象。
现在,如果您想使用 pandas
,那很简单:
import array
import pandas as pd
ar = arrow.get('September 20 2010', 'MMMM D YYYY')
df = pd.to_datetime(ar.date())
print(df) # 2010-09-20 00:00:00
我希望将字符串 "september 20 2010"
转换为 python datetime.date
object using arrow
。
我已经编写了函数来替换部分文本并以 9/20/2016 结束,但我想要 YYYY-MM-DD 格式,似乎无法让 arrow
识别我的字符串并将其转换为 python datetime.date
对象(没有任何时间)。
哪些有效,哪些无效。
arrow.get('september 20 2010', '%B %d %Y')
这对我不起作用 我收到错误消息:ParserError: Failed to match '%B %(?P<d>[1-7]) %Y'
解析字符串时 "september 20 2010"
然而,当我操作字符串然后使用 arrow.Arrow(y,m,d).date()
时,结果是一个 datetime.date(2016, 9, 20)
对象。
我无法使用 .format('dddd-DD-MMMM-YYYY')
将其转换为任何其他格式,这将 return 2010 年 9 月 20 日星期一。
使用 arrow
, you have to match the exact syntax of your string, here is the list of the associated token.
arrow.get('September 20 2010', 'MMMM D YYYY')
注意:在这种情况下,只有一个D
,因为它用一位或两位数字覆盖了数字1, 2, 3... 29, 30 而 DD
用两位数字覆盖数字 只有 01, 02, 03 ... 29, 30
获得箭头对象后,您可以使用 format() 来显示它:
ar = arrow.get('September 20 2010', 'MMMM D YYYY')
print(ar.format('YYYY-MM-DD')) # 2010-09-20
编辑
为了回答您的评论,ar
是一个 Arrow 对象,您可以检查它包含的每个方法 dir
Arrow
有一个方法 date()
其中 returns 一个 datetime.date
对象。
现在,如果您想使用 pandas
,那很简单:
import array
import pandas as pd
ar = arrow.get('September 20 2010', 'MMMM D YYYY')
df = pd.to_datetime(ar.date())
print(df) # 2010-09-20 00:00:00