2017-12-22 1 views
2

この問題は、ループ内で異なる変数名を使用することで解決できます。しかし、データフレームを格納できるListの要素の長さを調べることができるかどうかを確認する必要があります。python pandasのリストの要素に格納されているデータフレームの長さを取得する必要があります

フォルダに保存されているすべての.csvファイルを読み込むコードを記述しました。私は文字を含むリストを作成しました。今、私はフォルダから1つずつCSVファイルを読み込み、リストの要素にデータフレームとして保存しています。したがって、リストのすべての要素には、csvファイルを読み取って取得したデータフレームが含まれています。すなわち、リスト要素0 - 「a」は1つのデータフレームを含み、リスト要素1-bは他のデータフレームを含む。私はリストの要素に含まれるデータフレームの長さを見つける必要があります。私はlen()を使用していますが、これはリストの唯一の長さを反映しています。親切に私にいくつかの解決策をお勧めします。

以下はコードです。

url = "C:/Users/SONY/Desktop/SEdge/Proec/Day/Master Files/20-12-2017/" 

count = 0; 

lst = ["a", "b", "c", "d"] 

os.chdir(url) 

for file in glob.glob("*.csv"): 

    join = url + file; 

    lst[count] = pd.read_csv(join) 

    count +=1; 

プリント(LEN(LST [1]))

+0

を通過することをお勧めデータ構造の詳細については、CSVファイルの長さは1

を与えるだろう。あなたのデータはどのように見えますか?あなたは何を見たいですか? –

+1

[ループ中に異なる変数名を作成するにはどうすればよいですか? (Python)](https://stackoverflow.com/questions/6181935/how-do-you-create-different-variable-names-while-in-a-loop-python) – Dark

+0

私の記事の説明を編集しました。一度確認してください。 –

答えて

2

ストリングであなたカントデータを記憶します。変数に変数を格納する必要があります。あなたはcsvファイルの束をループしているので、オプトデータ構造は辞書です。すなわち

独自のコードの改良:

lst = ['a','b','c','d'] 
di = {} 

for count, file in enumerate(glob.glob("*.csv")): 
    join = url + file; 
    di[lst[count]] = pd.read_csv(join) 

di['a']店最初のcsvファイル。同様にdi['b] 2番目のように。あなたがlen(di[lst[1]])をすれば

は今、これはあなたに私はあなたが私はあなたの質問を理解していないthe documentation

+2

'enumerate'を使うと、外部のカウント変数は必要ありません。 –

+0

@cᴏʟᴅshereここでは非常に多くの改善がなされています。私はこれをOPに残す。 – Dark

+0

@Dark列挙型の使い方がわかりません。このコードラインを私に提供できますか?前もって感謝します。 –

関連する問題