【问题标题】:Error occurring while retrieving a csv data file in python在 python 中检索 csv 数据文件时发生错误
【发布时间】:2017-05-19 18:58:58
【问题描述】:

鉴于此代码:

import pandas as pd
import numpy as np
import matplotlib.pylab as plt
from matplotlib.pylab import rcParams
dateparse = lambda dates : pd.datetime(date, '%Y-%m')
data = pd.read_csv('F2016_11_18_14-2016_11_18_21_datafile.csv', parse_dates='Date', index_col = 'Date', date_parser=dateparse)
print (data.head())

我得到一个类型错误:

TypeError: 'parse_dates' 参数只接受布尔值、列表和字典

我不明白为什么会这样。

这是我的数据示例:

Date        Time_GMT    Time_IST    Current
11/18/2016  9:00:00     14:30:00    20.9
11/18/2016  9:00:01     14:30:01    23.37
11/18/2016  9:00:02     14:30:02    24.11
11/18/2016  9:00:03     14:30:03    26.51
11/18/2016  9:00:04     14:30:04    28.9
11/18/2016  9:00:05     14:30:05    24.21
11/18/2016  9:00:06     14:30:06    23.21

【问题讨论】:

  • 您的 lambda 格式错误:dateparse = lambda dates : pd.datetime(date, '%Y-%m') 应该是 dateparse = lambda dates : pd.datetime(dates, '%Y-%m')
  • 你的样本数据真的是这样吗?不是逗号分隔吗?因为如果这是您的示例数据,那么您的代码不应该工作。如果它是逗号分隔然后编辑你的问题,另外你不需要 dateparse 参数这应该工作:data = pd.read_csv('F2016_11_18_14-2016_11_18_21_datafile.csv', parse_dates='Date', index_col = 'Date')
  • 这是我的数据,你能告诉我应该如何解决这个问题。
  • 试试data = pd.read_csv('F2016_11_18_14-2016_11_18_21_datafile.csv', parse_dates='Date', index_col = 'Date', delim_whitespace=True)
  • 正如错误所说,parse_dates 只接受布尔值、列表或字典,所以试试这个:parse_dates=['Date'] 而不是 parse_dates='Date'

标签: python csv pandas time-series


【解决方案1】:

正如错误所说,parse_dates 只接受布尔值、列表或字典,所以试试这个:parse_dates=['Date'] 而不是 parse_dates='Date'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-26
    • 2022-01-03
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多