问题描述
因此,相当简单: 列的日期是这样的:“ 2000-05-30 17:27:00-05:00”
data open high low close
0 2000-05-30 17:27:00-05:00 0.9302 0.9302 0.9302 0.9302
1 2000-05-30 17:35:00-05:00 0.9304 0.9305 0.9304 0.9305
2 2000-05-30 17:38:00-05:00 0.9304 0.9304 0.9303 0.9303
3 2000-05-30 17:43:00-05:00 0.9301 0.9301 0.9300 0.9300
4 2000-05-30 17:44:00-05:00 0.9298 0.9298 0.9297 0.9297
我尝试了自定义解析器:
custom_parser = lambda x: datetime.strptime(x,"%Y-%m-%d %H:%M:%s-%z")
data = pd.read_csv('eurusd_2.csv',parse_dates=[0],date_parser=custom_parser,parse_dates=True)
但这是行不通的;我认为这是由于时区“ -05:00”中的“:”引起的-此问题有解决方案吗?
是否有一种类似于指定年/月/日格式的时区格式?
在此先感谢
C
解决方法
简单:
df = pd.read_csv('file.csv',parse_dates=['data'],sep='\s\s+')
似乎可以正常工作。 df['data']
是:
0 2000-05-30 17:27:00-05:00
1 2000-05-30 17:35:00-05:00
2 2000-05-30 17:38:00-05:00
3 2000-05-30 17:43:00-05:00
4 2000-05-30 17:44:00-05:00
Name: data,dtype: datetime64[ns,pytz.FixedOffset(-300)]
也许您的数据包含一些违规行为。