将字符串转换为datetime Python
如果我从将字符串转换为datetime Python,python,datetime,Python,Datetime,如果我从csv文件中读取字符串2014-05-19,如何将其转换为Python中的datetime对象?当前,当我指定dtype=None时,它将作为字符串而不是日期时间读入2014-05-19 import numpy as np import datetime np.genfromtxt(inputFile, dtype=None,delimiter=' ') 文件 2014-05-19 10 2014-05-20 11 2014-05-21 12 2014-05-22 13.29 20
csv
文件中读取字符串2014-05-19
,如何将其转换为Python
中的datetime对象?当前,当我指定dtype=None时,它将作为字符串而不是日期时间读入2014-05-19
import numpy as np
import datetime
np.genfromtxt(inputFile, dtype=None,delimiter=' ')
文件
2014-05-19 10
2014-05-20 11
2014-05-21 12
2014-05-22 13.29
2014-05-23 12.1
其中,字符串后面的数字是与日期关联的值,但不包括在datetime
对象中
dataPoints = np.loadtxt(inputFile, dtype=None,delimiter=' ', converters = {0: datetime.datetime.strptime('%Y-%m-%d')})
我收到以下消息:TypeError:strtime()正好接受2个参数(给定1个)
如何在不实际剥离字符串的情况下指定格式?您应该使用datetime模块中的strTime函数。我不确定空格后的数字应该是什么,但这会将年-月-日正确格式化为datetime对象
from datetime import datetime
some_date = '2014-05-28'
parsed_date = datetime.strptime(some_date, '%Y-%m-%d')
print(parsed_date)
您应该使用datetime模块中的strTime函数。我不确定空格后的数字应该是什么,但这会将年-月-日正确格式化为datetime对象
from datetime import datetime
some_date = '2014-05-28'
parsed_date = datetime.strptime(some_date, '%Y-%m-%d')
print(parsed_date)
如果没有缺少的值,可以使用
numpy.loadtxt()
numpy.genfromtxt()
还有converters参数。(thx RickyA)
使用“coverters”参数和lambda函数:
from datetime import datetime
datestr2num = lambda x: datetime.strptime(x, '%Y-%m-%d')
np.genfromtxt(inputFile, delimiter=' ', converters = {0: datestr2num})
其中0
是列索引
有一种更简单的方法-使用数据类型参数:
np.genfromtxt(inputFile,dtype=['datetime64[D],float],分隔符='')
使用('column name',type)元组可使人更容易阅读:
np.genfromtxt(输入文件,数据类型=[('Date','datetime64[D]),('Value',float)],分隔符=“”)
顺便说一句,在numpy中以datetime形式加载字符串更准确。如果没有缺少的值,可以使用
numpy.loadtxt()
numpy.genfromtxt()
还有converters参数。(thx RickyA)
使用“coverters”参数和lambda函数:
from datetime import datetime
datestr2num = lambda x: datetime.strptime(x, '%Y-%m-%d')
np.genfromtxt(inputFile, delimiter=' ', converters = {0: datestr2num})
其中0
是列索引
有一种更简单的方法-使用数据类型参数:
np.genfromtxt(inputFile,dtype=['datetime64[D],float],分隔符='')
使用('column name',type)元组可使人更容易阅读:
np.genfromtxt(输入文件,数据类型=[('Date','datetime64[D]),('Value',float)],分隔符=“”)
顺便说一句,在numpy中如何将字符串作为日期时间加载会更准确。空格后的数字是多少?为什么必须使用numpy?为什么不打开csv、逗号分隔和strTime?空格后的数字是多少?为什么必须使用numpy?为什么不打开csv、逗号分隔和strTime?但这会尝试将我的关联值转换为日期吗?我刚刚编辑过。您可以指示将按索引转换的列。所以答案是否定的:-)顺便说一句,还有转换器param@PiotrNawrot另外,datestr2num='%Y-%m-%d'是否足够?@PiotrNawrot我仍然对datestr2num部分感到有点困惑,谢谢。但这是否也会尝试将我的关联值转换为日期?我刚刚编辑过。您可以指示将按索引转换的列。所以答案是否定的:-)顺便说一句,还有转换器param@PiotrNawrot另外,datestr2num='%Y-%m-%d'是否足够?@PiotrNawrot我仍然对datestr2num部分有点困惑,谢谢。