2016-04-18 9 views
1

複数のファイルをループして各ファイルに別々のデータフレームを作成する最も良い方法は何ですか?私は他の質問を見てきましたが、ファイルのそれぞれを1つのデータフレームに連結するのがポイントです。Pandas read_csv複数のファイル

たとえば、mylist = ['a.csv'、 'b.csv'、 'c.csv']とし、各データフレームにファイル名(a、 b、c)、代入文の左側が文字列として扱われるため、これを行うことはできません。これを訂正すると、データフレームの割り当てとして解釈されます。私はあなたがDataFramesdictionaryを作成することができると思い

dfs = {f.rsplit('.csv',1)[0]: pd.read_csv(file) 
     for f in mylist} 

答えて

1

mylist = ['a.csv','b.csv','c.csv'] 
import pandas as pd 
for file in mylist: 
    file.rsplit('.csv',1)[0] = pd.read_csv(file) 
4

は辞書理解を使用し

import pandas as pd 

mylist = ['a.csv','b.csv','c.csv'] 

dfs = {} 
for f in mylist: 
    dfs.update({f.rsplit('.csv',1)[0]: pd.read_csv(f)}) 

print dfs['a'] 
2

一般的には、式を使用して変数に名前を付けるために悪い習慣を考えられています。 ...

mydict['a'] 
mydict['b'] 

など:あなたがこれを行うならば、あなたが言って、各データフレームにアクセスすることができます

mylist = ['a.csv','b.csv','c.csv'] 
mydict = {} 

import pandas as pd 
for file in mylist: 
    mydict[file.rsplit('.csv',1)[0]] = pd.read_csv(file) 

:よりよい解決策は、辞書を使用することです

関連する問題