导入一个datetime格式的 Dataframe ,并将其馈送到需要此UTC格式的日期的API服务中(请注意T
和Z
):
2023-07-26T11:04:23.893Z
字符串
值得注意的是,这将被转换为JSON
,因此最终的答案可以得到一个字符串。但如果本地Pandas
时间处理可以做到的话,那将是更干净的解决方案。
在个别日期,而不是在DataFrame
中,我是这样做的:
due_date_end = datetime.now() + relativedelta(months=+3)
due_date_end = due_date_end.isoformat('T') + 'Z'
型
当我尝试在df
列上使用.isoformat()
方法时,我得到了一个异常。
我还尝试了以下几点:
阅读文件时分析日期
df = pd.read_csv('my_test_file.csv',parse_dates=['job_due_date'])
型
使用我在SO上看到的相关答案进行转换:
df['due_date'] = pd.to_datetime(end_user_df['job_due_date']).dt.tz_localize('UTC')
型
另一个基于SO答案的变体:
end_user_df['due_date'] = pd.to_datetime(end_user_df['job_due_date']).dt.tz_localize('UTC')
end_user_df['due_date'] = end_user_df['due_date'].to_string().strftime("%Y-%m-%dT%H:%M:%S%Z")
型
下一步我该尝试什么?
1条答案
按热度按时间nwo49xxi1#
原则上,您希望将表示为字符串的datetime转换为datetime数据类型,以便处理数据。要生成具有特定格式的输出(字符串),可以使用
dt
命名空间的strftime
方法。请注意,对于strftime
,您必须使用文字“Z”来表示UTC(而不是%Z
)。作为answer对类似问题的补充,这里有一个示例,您可以如何在ISO格式输出中获得不同精度的小数秒。
字符串