Pandas - 关键错误 - 无法识别csv文件中的列名

时间:2017-10-29 18:11:43

标签: python pandas csv dataframe

我正在获取文件夹中最新的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'列未被识别?

1 个答案:

答案 0 :(得分:0)

由于熊猫默认使用'\t',因此您需要将分隔符设置为','

pd.read_csv(filename, sep='\t')