2017-02-14 68 views
0

在Pnadas数据帧的基于列的输入文件名我有具有以下结构的几个CSV文件:尝试包括在Python

  Erster Hoch Tief Schlusskurs Stuecke  Volumen 
Datum                 
14.02.2017 151.55 152.35 151.05  152.25 110.043 16.687.376 
13.02.2017 149.85 152.20 149.25  151.25  415.76 62.835.200 
10.02.2017 149.00 150.05 148.65  149.40 473.664 70.746.088 
09.02.2017 144.75 148.45 144.35  148.00 642.175 94.348.392 


      Erster  Hoch  Tief Schlusskurs Stuecke Volumen 
Datum                
14.02.2017 111.454 111.776 111.454  111.776  44 4.918 
13.02.2017 110.570 110.989 110.570  110.989  122 13.535 
10.02.2017 109.796 110.705 109.796  110.705  0  0 
09.02.2017 107.993 108.750 107.993  108.750  496 53.933 

基于文件名的命名都是不同的:

wkn_A1EWWW_historic.csv 
wkn_A0YAQA_historic.csv 

我想有以下输出:

Date  wkn  Open High low  Close pieced  Volume 

14.02.2017 A1EWWW 151.55 152.35 151.05 152.25 110.043 16.687.376 
13.02.2017 A1EWWW 149.85 152.20 149.25 151.25  415.76 62.835.200 
10.02.2017 A1EWWW 149.00 150.05 148.65 149.40 473.664 70.746.088 
09.02.2017 A1EWWW 144.75 148.45 144.35 148.00 642.175 94.348.392 

Date  wkn  Open High low  Close pieced  Volume 
14.02.2017 A0YAQA 111.454 111.776 111.454  111.776  44 4.918 
13.02.2017 A0YAQA 110.570 110.989 110.570  110.989  122 13.535 
10.02.2017 A0YAQA 109.796 110.705 109.796  110.705  0  0 
09.02.2017 A0YAQA 107.993 108.750 107.993  108.750  496 53.933 

的代码如下所示:

import pandas as pd 

wkn_list_dummy = {'A0YAQA','A1EWWW'} 

for w_list in wkn_list_dummy: 
    url = 'C:/wkn_'+str(w_list)+'_historic.csv' 
    df = pd.read_csv(url, encoding='cp1252', sep=';', decimal=',', index_col=0) 
    print(df) 

我尝试了使用融化但它不工作。

回答

2

您可以通过它分配一个值,将其添加列:

df['new_column'] = 'string' 

一起:

import pandas as pd 

wkn_list_dummy = {'A0YAQA','A1EWWW'} 

final_df = pd.DataFrame() 
for w_list in wkn_list_dummy: 
    url = 'C:/wkn_'+str(w_list)+'_historic.csv' 
    df = pd.read_csv(url, encoding='cp1252', sep=';', decimal=',', index_col=0) 
    df['wkn'] = w_list 
    final_df = final_df.append(df) 
final_df.reset_index(inplace=True) 
print(final_df) 
+0

非常感谢,这是我所期待的。我如何重置索引'Datum'以便像其他列Erste等一样处理? – MCM

+0

感谢改变它。刚刚有问题,我在循环中第一次。 – MCM