start_time = df_view['opTime'].values start_time = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')TypeError: strptime() argument 1 must be str, not numpy.ndarray
时间: 2023-06-19 12:06:35 浏览: 60
这个错误是因为 `df_view['opTime'].values` 返回的是一个 `numpy.ndarray` 类型的数据,而 `datetime.strptime()` 函数的第一个参数需要是一个字符串类型的数据。因此,你需要将 `numpy.ndarray` 转换成字符串类型的数据,可以通过 `str()` 函数实现。
以下是一个可能的解决方案:
```
start_time = str(df_view['opTime'].values)
start_time = datetime.strptime(start_time, '%Y-%m-%d %H:%M:%S')
```
注意,这里将 `numpy.ndarray` 类型的数据转换成了字符串类型,因此你需要确保数据中包含的日期格式是符合 `%Y-%m-%d %H:%M:%S` 的。如果数据中的日期格式不符合该格式,你需要相应地修改 `strptime()` 函数中的日期格式参数。
相关问题
start_time = str(df_view['opTime'].values) start_time = datetime.strptime(start_time[0], '%Y-%m-%dT%H:%M:%S.%f')ValueError: time data '[' does not match format '%Y-%m-%dT%H:%M:%S.%f'
这个错误提示表明你尝试将一个字符串转换为日期时间类型时出现了问题。具体来说,字符串的格式与指定的格式字符串不匹配。
原因可能是 `df_view['opTime'].values` 返回的是一个数组,而你试图将其转换为一个字符串,这导致了错误发生。你需要先将数组中的元素提取出来,然后再将其转换为字符串。
你可以尝试使用以下代码:
```
start_time = str(df_view['opTime'].values[0])
start_time = datetime.strptime(start_time, '%Y-%m-%dT%H:%M:%S.%f')
```
这样应该可以解决这个错误。
start_time = str(df_view['opTime'].values[0]) start_time = datetime.strptime(start_time, '%Y-%m-%dT%H:%M:%S')ValueError: unconverted data remains: .000000000
这个错误通常是因为你的 `start_time` 变量中包含了毫秒的数据,而 `%S` 仅仅可以匹配秒,也就是两位数的整数。你可以使用 `%f` 匹配毫秒,例如:
```
start_time = datetime.strptime(start_time, '%Y-%m-%dT%H:%M:%S.%f')
```
这样就可以正确地解析带毫秒的时间戳了。