【发布时间】:2019-07-28 06:34:42
【问题描述】:
我用来分析一个只包含两列的.csv 文件:
- 日期
- time_taken
csv 的片段是:
date,time_taken
01-02-2019,2.3
02-02-2019,3.3
03-02-2019,2.8
04-02-2019,4.5
05-02-2019,1.2
06-02-2019,6.7
我收到了这个ValueError:
ValueError: time data 'date' does not match format '%d-%m-%Y' (match)
Python 3.6 被截断为:
import pandas as pd
transfer = pd.read_csv('tcs1_time.csv', header=None, delimiter=',')
transfer.columns = ['date', 'time_taken']
transfer['date'] = pd.to_datetime(transfer['date'], format='%d-%m-%Y')
csv 中的日期与 format 匹配,但是,我得到的是 ValueError。
任何人都可以在这方面提供帮助吗?谢谢。
【问题讨论】:
-
如果您正在读取具有标题的 csv 文件,则不应在 pd.read_csv 中使用“header=None”选项。
-
我想我在上面的代码中做到了。
-
我是说你应该去掉“header=None”位。您在执行代码后所做的是您正在读取文件中的第一行(日期,time_taken)作为数据框中的一行,而不是作为标题......这将引发错误,因为字符串“日期”肯定不会匹配您的日期时间格式!
-
@Chilled Geek,对不起,我误解了你,实际上它有效,这就是问题所在。我删除了 header=None 部分。
-
没问题!乐意效劳。享受蟒蛇/熊猫!
标签: python pandas datetime valueerror string-to-datetime