python-3.x - 将“年、年中的某一天、小时、分钟、秒”值的字符串转换为“年月日小时分钟秒”
问题描述
我需要将一串“年,年,小时,分钟,秒”值转换为“年月日小时分钟秒”,即
0 2015 142 0 0 0.986
1 2015 142 0 0 1.017
2 2015 142 0 0 1.048
3 2015 142 0 0 1.079
4 2015 142 0 0 1.111
5 2015 142 0 0 1.142
6 2015 142 0 0 1.173
7 2015 142 0 0 1.204
8 2015 142 0 0 1.236
9 2015 142 0 0 1.267
进入(2015 5 22 0:0:0.986)。
我找到了下面的代码..并尝试了这个...
import datetime
datetime.datetime.strptime('2015 142 0 0 0.986', '%Y %j %H:%M:%S.%f')
给出以下错误
ValueError: time data '2015 142 0 0 0.986' does not match format '%Y %j %H:%M:%S.%f'
我也试过:分隔年、日、时、分、秒列
datetime.datetime(2015, 1, 1) + datetime.timedelta(142 - 1)+datetime.timedelta(hours=0,minutes=0,seconds=0.986)
它抛出错误:
TypeError: unsupported type for timedelta seconds component: numpy.int64
任何建议。
谢谢你
解决方案
您的模式略有偏差,并且在时间部分使用冒号,输入字符串中实际上没有冒号。试试这个版本:
import datetime
date = datetime.datetime.strptime('2015 142 0 0 0.986', '%Y %j %H %M %S.%f')
print(date)
这打印:
2015-05-22 00:00:00.986000
推荐阅读
- python - 如何拟合载荷与位移曲线的线性部分?
- vba - Outlook VBA - 如何为收件箱和子文件夹运行脚本
- c# - 您要实例化的对象为空。统一 3D
- python - 使用triplet loss进行训练:Nan in summary histogram tensorflow
- java - Java JTextPane Markdown 格式 - 删除格式定义字符
- matlab - 如何在 Matlab 工作区中存储矩阵的所有列
- jupyter-notebook - 在 Jupyter 中安装 xeus-cling 后 C++14 不可见(Ubuntu 18.04 - Anaconda)
- flutter - 将 Flutter 应用程序复制到新项目时要复制哪些文件夹?
- microsoft-graph-api - 使用新的 microsoft-graph-auth 库 java sdk 会出现未经授权的错误
- python - 当我尝试重定向到生产中的注册和登录页面时出现 500 错误消息