我正在获取文件夹中最新的csv文件,如下所示,然后转换为DataFrame' ES_VX_comb_LL_15M'。
import pandas as pd
import glob
filename2 = max(glob.iglob(r"C:\Users\cost9\OneDrive\Documents\PYTHON\Daily Tasks\Pairs Trading\ES_VX\CSV\15M\Beta\*.csv"))
f6 = open(filename2)
ES_VX_comb_LL_15M = pd.read_csv(f6)
ES_VX_comb_LL_15M['Close_ES'] = ES_VX_comb_LL_15M[pd.to_numeric(ES_VX_comb_LL_15M['Close_ES'])]
ES_VX_comb_LL_15M = ES_VX_comb_LL_15M[np.isfinite(ES_VX_comb_LL_15M['Close_ES1'])]
path_to_csv = r'C:\Users\cost9\OneDrive\Documents\PYTHON\Daily Tasks\Pairs Trading\ES_VX\CSV\15M\Lead_Lag\ES_VX_comb_LL_15M_.csv'
ES_VX_comb_LL_15M.to_csv(path_or_buf = path_to_csv)
不幸的是我收到了错误" KeyError:' Close_ES'"引用csv文件中的列。此错误指的是上面的to_numeric行。
通常这不是问题,我不确定问题是什么 - CSV文件如下所示:
Ticker_x Date Close_ES
1 ES U7 3/14/2017 6:14 2360
2 ES U7 3/14/2017 6:29 2362.25
3 ES U7 3/14/2017 7:44 2361.25
4 ES U7 3/14/2017 7:59 2359.25
5 ES U7 3/14/2017 8:14 2357.25
6 ES U7 3/14/2017 8:29 2355
7 ES U7 3/14/2017 8:44 2353.75
8 ES U7 3/14/2017 8:59 2354.75
9 ES U7 3/14/2017 9:14 2354.5
10 ES U7 3/14/2017 9:29 2359.25
11 ES U7 3/14/2017 9:44 2358.5
12 ES U7 3/14/2017 9:59 2359
13 ES U7 3/14/2017 10:14 2355.5
14 ES U7 3/14/2017 10:29 2356
15 ES U7 3/14/2017 10:44 2356

所以看起来它正确地分隔了列/值。为什么' Close_ES'列未被识别?
答案 0 :(得分:0)
由于熊猫默认使用'\t'
,因此您需要将分隔符设置为','
。
pd.read_csv(filename, sep='\t')