python - ValueError: 时间数据与格式 '%Y/%m/%d %H:%M:%S' 不匹配
问题描述
我需要将数千个日期时间记录转换为时间戳。当我运行以下代码时:
from time import strptime
import pandas as pd
import numpy as np
import datetime
cepo = str(pd.read_csv('test.csv',sep = ','))
print(cepo)
element = datetime.datetime.strptime(cepo,'%Y/%m/%d %H:%M:%S')
tuple = element.timetuple()
timestamp = time.mktime(tuple)
print(timestamp)
我收到以下错误:
Date Time
0 2018/02/11 02:36:59
1 2018/02/12 00:47:11
2 2018/02/12 01:36:36
3 2018/02/12 03:27:51
4 2018/02/12 03:48:29
5 2018/02/12 03:50:49
Traceback (most recent call last):
File "epoch.py", line 9, in <module>
element = datetime.datetime.strptime(cepo,'%Y/%m/%d %H:%M:%S')
File "/Users/joaofontiela/opt/anaconda3/envs/pywork/lib/python3.8/_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "/Users/joaofontiela/opt/anaconda3/envs/pywork/lib/python3.8/_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data ' Date Time\n0 2018/02/11 02:36:59\n1 2018/02/12 00:47:11\n2 2018/02/12 01:36:36\n3 2018/02/12 03:27:51\n4 2018/02/12 03:48:29\n5 2018/02/12 03:50:49' does not match format '%Y/%m/%d %H:%M:%S'
输入文件(test.csv)看起来像:
Date,Time
2018/02/11,02:36:59
2018/02/12,00:47:11
2018/02/12,01:36:36
2018/02/12,03:27:51
2018/02/12,03:48:29
2018/02/12,03:50:49
如何修复错误“时间数据与格式'%Y/%m/%d %H:%M:%S”不匹配?
解决方案
您可以轻松地组合 csv 中的“日期”和“时间”列,例如
# load the csv file content into a dataframe
df = pd.read_csv(filename)
# combine date and time columns and parse to datetime
df['datetime'] = pd.to_datetime(df['Date'] + ' ' + df['Time'])
print(df['datetime'])
0 2018-02-11 02:36:59
1 2018-02-12 00:47:11
2 2018-02-12 01:36:36
3 2018-02-12 03:27:51
4 2018-02-12 03:48:29
5 2018-02-12 03:50:49
Name: datetime, dtype: datetime64[ns]
您可以计算 Unix 时间(自 1970-01-01 UTC 以来的 Posix / 秒),例如
df['posix[s]'] = df['datetime'].astype(int) / 1e9
print(df['posix[s]'])
0 1.518317e+09
1 1.518396e+09
2 1.518399e+09
3 1.518406e+09
4 1.518407e+09
5 1.518407e+09
Name: posix[s], dtype: float64
推荐阅读
- python - 应用gensim LDA主题建模后,如何获取每个主题概率最高的文档并将它们保存在csv文件中?
- ruby-on-rails - Rails 在“ShopifyAPI::Product.delete()”上“无法验证 CSRF 令牌真实性”,但正在处理“ShopifyAPI::Product.find()”
- javascript - 如果我得到应用程序流的 Axios 响应内容类型,如何保存 PDF 格式文件?
- microprocessors - WAW 和 WAR 危害是 RISC 处理器独有的吗?
- android - 更改应用程序语言
- laravel - 如何在cpanel上上传laravel项目?
- css - 如何同时设置最小宽度并换到下一行以进行内容可编辑
- reactjs - 有没有办法重构此代码以使其更简洁?
- ruby-on-rails - 如何仅在用户按搜索时呈现搜索结果
- android-recyclerview - RecyclerView:回收项目时绑定不正确