タプルを約470000並べ替えるとエラーが発生します。 私はタプルValueError:タプル数が多すぎるとアンパックする値が多すぎます
fp = open(filename, 'Ur')
for line in fp:
listOfCitiesTuples.append(tuple(line.strip().split(',')))
fp.close()
タプルのリストにcsvファイルからデータを読み込むには、番号に関連付けられているいくつかの都市名です。
[('Chiredzi', '4117'), ('Gaths', '4117'), ('Masvingo', '4117'), ('Chivhu', '4120'), ('Gweru', '4120'), ('Kwekwe', '4120'), ('Mvuma', '4120'), ('Redcliffe', '4120'), ('Shurugwi', '4120'), ('Zvishavane', '4120')]
私はリストで一緒に同じ番号に関連付けられているすべての名前を収集し、その番号にマッピングして、達成するために以下の方法を使用して、この
{'1': ['Bombuflat', 'Garacharma', 'Port Blair', 'Rangat'], '113': ['Hydra', 'Kouba'], '294': ['Vienna', 'Wien'], '1327': ['Lambarene', 'Ndjole']}
のようなものを、すべてのこれらの項目の辞書を形成しますそれ
for k, v in listOfCitiesTuples: dictOfCitiesTuples.setdefault(v, []).append(k)
これはタプルの数が少ないために正常に動作します(私がこれまでに20,000テストしている)が、470000.
のような大きな数に動作していないようです多数のタプルが問題になるか、ファイルが破損している可能性がありますか?ファイル内のデータが破損している場合は、例外のようなデータが破損していることを知るためにできることはありますか?
私はあなたのコードを見て、推測を取ることによって、このエラー
File "/../view.py", line 186, in getCities
for k, v in listOfCitiesTuples: dictOfCitiesTuples.setdefault(v, []).append(k)
ValueError: too many values to unpack (expected 2)
このタプルをpandasデータフレームにインポートし、ファイル内の破損したデータがないかどうかを確認します。 – min2bro
完全なエラーは何ですか? 1つまたは3つの値を2つに展開する可能性が高くなります。たぶん都市名にカンマがあるので、3つの値が得られます。 –
@jasそれは完全なエラーではありません。どのコード行が実行されていますか? –