1. ホーム
  2. python

[解決済み] ValueError: Pythonを解凍するために1つ以上の値が必要です。

2022-02-25 09:40:54

質問

私はオプションを与える既存のメニューを持っています。 L または D . L はファイルの内容を読み込む必要があり D はそれを表示する。

if option == "l" or option == "L":
    with open("packages.txt") as infp:
        for line in infp:
         line = line.rstrip()
         name,adult,child= line.split(',')

if option == "d" or option == "D":
    print ((name)," - ",(adult)," / ",(child))

しかし、これを実行しようとすると、エラーが発生します。

名前,大人,子供= line.split(',')
ValueError: 展開するために1つ以上の値が必要

なぜこのようなエラーが発生するのでしょうか?

どうすればいいですか?

つまり packages.txt というのは、空白を取り除き、カンマで分割すると、ちょうど3個にならないからです。実際、1個しか与えられていないようです("need more than 1 value to unpack")このことは、カンマが全くない行があることを示唆しています。

の中に空白行やコメント行があるのかもしれません。 packages.txt ?

ファイルの内容をよりスマートに解析するためのコードが必要かもしれません。