2セットのCSVファイルをロードし、各セットの差、平均絶対誤差を除く両方でいくつかの計算を実行しようとしていますset1 - set2
。
私は次のように両方のセットをロードしようとしています:
import glob
for a, b in (glob.glob("*a.csv"), glob.glob("*b.csv")):
そして、私はエラーを受け取ります:
ValueError: too many values to unpack
2セットのCSVファイルをロードし、各セットの差、平均絶対誤差を除く両方でいくつかの計算を実行しようとしていますset1 - set2
。
私は次のように両方のセットをロードしようとしています:
import glob
for a, b in (glob.glob("*a.csv"), glob.glob("*b.csv")):
そして、私はエラーを受け取ります:
ValueError: too many values to unpack
ValueError
指定したターゲット変数の数よりも多くのアイテムをタプルに割り当てようとしているため、 を取得しています。for ループ タプル アンパック構文は、タプル内の各リストをループし、タプル内の各値をターゲット ( a
and b
) に割り当てようとします。たとえば、これはうまくいきます:
for a,b in (['0a.csv', '1a.csv'], ['0b.csv', '1b.csv']):
print a,b
a
各リストの最初の値をに、2 番目の値をに割り当てますb
。上記のコードは以下を出力します。
0a,csv 1a.csv
0b.csv 1b.csv
したがって、ValueError
少なくとも 1 つのglob.glob
呼び出しの結果が 2 つの要素よりも長いリストであるため、 が得られます。
あなたがやろうとしていることに基づいて、私はあなたが使いたいと思うzip
.
import glob
for a,b in zip(glob.glob("*a.csv"), glob.glob("*b.csv")):
# whatever
これにより、指定したパターンに一致するファイルのペアが取得され、それらが および に割り当てられa
ますb
。たとえば、ファイルが0a.csv
ある1a.csv
場合2a.csv
、、、、、、および実行0b.csv
中1b.csv
2b.csv
for a,b in zip(glob.glob("*a.csv"), glob.glob("*b.csv")):
print a, b
結果は
0a.csv 0b.csv
1a.csv 1b.csv
2a.csv 2b.csv