我使用以下代码按日期将.csv读入数据帧索引:
def getCSVData(rawStaticDataPath):
pattern = 'Overview-trade-pos'+'.csv'
staticPath = rawStaticDataPath
with open(staticPath+pattern,'rt') as f:
csv=pd.read_csv(f,engine='c',header=0,index_col='date', parse_dates=True, infer_datetime_format=True,names=['date','id','settle_price','settle_price_acc','pos','trade'])
print(csv.sort_index().tail())
return csv
当我跟踪文件时,我得到以下信息:
id settle_price
date
2017-12-01 BBG.XTKS.7942.S 23.745497
2017-12-01 BBG.XTKS.3926.S 26.499680
2017-12-01 BBG.XTKS.9678.S 27.328124
2017-12-01 BBG.XTKS.8153.S 29.855033
2017-12-01 BBG.XTKS.2060.S 1.482091
请注意,2017年3月31日是.csv中的最新记录日期。我按日期对.csv进行了排序,下面是最后几条记录:
31/03/2017 BBG.XASX.SCP.S 1.70883133
31/03/2017 BBG.XASX.IFL.S 6.50754463
31/03/2017 BBG.XASX.MFG.S 18.02732459
31/03/2017 BBG.XASX.BHP.S 18.340116
31/03/2017 BBG.XASX.MND.S 9.406557
31/03/2017 BBG.XASX.VCX.S 2.15897147
您可以看到,在读取文件中的日期已被重新格式化。你知道吗
请注意,日期超出了我在.csv中读到的最后一天。我想日期已经被重新格式化了。你知道吗
有没有一种方法可以在读取.csv文件时更改日期索引的格式?所以我相信期望的结果是:
2017-03-09 4740.969526
2017-01-10 2299.551489
2017-02-10 -255026.329808
2017-03-10 -22969.779504
2017-01-11 -11577.120402
2017-01-12 -73150.201727
显然记录的顺序会因此而改变。你知道吗
我们使用
strftime
看起来将
dayfirst=True
添加到read\u csv语句中就成功了。你知道吗相关问题 更多 >
编程相关推荐