我尝试将pandas数据框导出到csv,然后尝试再次将csv读取到我的程序中。理想情况下,导出和读取数据框后,数据框应该完全相同,我想保留标头和索引。尝试执行此操作时遇到错误,我不太了解:
csv文件保存得很好,但是当我将其读入程序时,该文件已“损坏”。
我使用以下功能:
def SaveCSV(file,file_name,place,loc):
file.to_csv(loc+place+'/'+file_name+'.csv', header=True, index=True)
def ExtractCSV(file_name,place,loc):
file = pd.read_csv(loc+place+'/'+file_name+'.csv')
return file
csv应该保存在不同的文件夹中,从而保存place
参数。我敢肯定错误在file = pd.read_csv(loc+place+'/'+file_name+'.csv')
行中,但是我不知道该怎么办。
尝试读取csv之前和之后的输出分别是:
Ticker Cluster No. Distances Measure
BANF BANF 2 [14.712, 14.271, 6.935] [0.241, 0.248, 0.511]
PRI PRI 2 [15.756, 13.244, 8.911] [0.253, 0.301, 0.447]
MTLHF MTLHF 2 [14.107, 14.502, 7.798] [0.264, 0.257, 0.478]
MRCBF MRCBF 2 [13.901, 14.219, 7.344] [0.258, 0.253, 0.489]
NBL NBL 0 [0.0, 13.625, 12.186] [1.0, 0.0, 0.0]
OLN OLN 1 [13.625, 0.0, 11.575] [0.0, 1.0, 0.0]
KAR KAR 2 [12.974, 12.691, 6.361] [0.246, 0.252, 0.502]
并且:
Ticker Cluster No. Distances Measure
BANF BANF 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
PRI PRI 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
MTLHF MTLHF 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
MRCBF MRCBF 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
NBL NBL 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
OLN OLN 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
KAR KAR 0 [0.0, 0.0, 0.0] [0.333, 0.333, 0.333]
“ Ticker”列保持不变,“ Cluster No.”和“距离”都设置为0,“测量”似乎设置为值的平均值。不一致使我很难定位问题。我一直在寻找解决方案或可以工作的csv阅读器的示例,但到目前为止我还没有运气。如果我一直对解决方案一无所知,请向我启迪(我一生都知道,第一列或索引都可以排除在外-继续努力)。
背景:我尝试导出的数据框中有一些耗时的计算。我想在后台运行的那些,将结果保存为csv,然后可以读取并随后一次执行(速度更快)分析。
编辑:错别字。