Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中将对象转换为日期时间_Python_Datetime - Fatal编程技术网

在Python中将对象转换为日期时间

在Python中将对象转换为日期时间,python,datetime,Python,Datetime,我有一系列这样的格式:2017-12-04T08:30:00+11:00。我正在尝试将其转换为datetime对象。用黄色突出显示。请参见图片: 如何从开始、结束和更新列获取日期,并将这些对象转换为日期 我试过: def ISOtstr(iso): dcomponents=[1,1,1] 数据组件[0]=iso[:4] 数据组件[1]=iso[5:7] 数据组件[2]=iso[8:10] t组件=[1,1,1] t组件[0]=iso[11:13] t成分[1]=iso[14:16] t成分[2

我有一系列这样的格式:
2017-12-04T08:30:00+11:00
。我正在尝试将其转换为datetime对象。用黄色突出显示。请参见图片:

如何从开始、结束和更新列获取日期,并将这些对象转换为日期

我试过:

def ISOtstr(iso):
dcomponents=[1,1,1]
数据组件[0]=iso[:4]
数据组件[1]=iso[5:7]
数据组件[2]=iso[8:10]
t组件=[1,1,1]
t组件[0]=iso[11:13]
t成分[1]=iso[14:16]
t成分[2]=iso[17:19]
d=数据组件
t=t部件
string=“{}-{}-{}{}:{}:{}”。格式(d[0],d[1],d[2],t[0],t[1],t[2])
返回字符串
导入日期时间
string=a.iloc[1]['start']
日期字符串=ISOTSR(字符串)
date\u obj=datetime.datetime.strtime(日期字符串,%Y-%m-%d%H:%m:%S)
打印(日期)
打印(类型(日期)
df['start']中的项的
。iteritems():
datetime.datetime.strtime(df['start'],%a-%b-%d-%H-%M-%S-%Z-%Y”)
导入日期时间
日期_时间_str=a[“开始”]
date\u time\u obj=datetime.datetime.strtime(date\u time\u str,%Y-%m-%d%H:%m:%S.%f')
打印('日期:',日期\时间\对象日期())
打印('时间:',日期\时间\对象时间())
打印('日期时间:',日期时间'obj)
TypeError:strTime()参数1必须是str,而不是Series

IPython笔记本电脑:


熊猫有一个非常有用的
pd.to_datetime
函数,它可以满足您的需要。

您需要传递datetime.datetime.strtime()字符串,而不是序列。df['start']正在为“start”列编制索引。如果您想特别使用datetime模块,可以研究使用df.apply或迭代数据

然而,在我之前提到的其他人,熊猫有一个可以完全按照你的意愿去做的世界

首先(抱歉,现在没有太多时间!),您需要将一系列df作为参数传递给pandas类,如下所示

df['start']=pd.to_datetime(df['start'],format='%foo%bar)
返回的对象将是一个系列,您可以将其分配给“开始”系列。

Python中有一个可以完成所有神奇的日期解析工作的系列:

>>> import dateutil.parser
>>> dateutil.parser.parse('2017-12-04T08:30:00+11:00')
datetime.datetime(2017, 12, 4, 8, 30, tzinfo=tzoffset(None, 39600))