PythonでValueError: not enough values to unpack (expected 2, got 1)が発生する原因と解決方法
PythonでValueError: not enough values to unpack (expected 2, got 1)が発生する原因と解決方法
I. 問題の説明
import pickle
f = open('record1.txt','r')
girl = []
boy = []
count = 0
#content = f.readlines()
for eachline in f:
if '=========' is not in eachline:
(role, spoken) = eachline.split(':',1)
エラーを表示したまま実行する
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\python learning\lianxi\test30-1\pickle-file.py", line 10, in <module>
(role, spoken) = eachline.split(':',1)
ValueError: not enough values to unpack (expected 2, got 1)
Error: not enough values to unpack (expected 2, got 1) 解凍するための値が不足しています(need 2, got 1)。プログラムは、読み込んだ各行を : で区切られた2つの部分に分割するよう求め、 : が見つからない場合はエラーを報告します。
II. 誤りの原因
1、ドキュメント record1.txt 内容 ':' は中国語のコロンで、プログラム "(role, spoken) = eachline.split(':', 1) "(role, spoken) = eachline.split(':',1)" の ':' は英語のコロンで、スライス時に該当するコロンを見つけられないため、エラーを報告することになりました。
2. record1.txt ファイルは改行が多く、改行しかない行もある。
record1.txtの内容をインターネットから直接txtファイルにコピーしており、コピーした内容は以下のリンクにあります。[小さな鯛の教えのビデオのrecord.txtファイルの内容]です。
(https://blog.csdn.net/guokaigdg/article/details/82725551)。
ページには、次のように表示されます。
以下のようにtxtファイルに直接コピーします。
コピーは1つの大きな段落として完成し、改行もないため、以下のように手作業で調整した。
調整済みファイルを指定してプログラムを実行すると、エラーが報告され、調整済みファイルの内容が次のようにワードファイルにコピーされます。
これは、ウェブページからコピーする際、各文章は改行で終わるのですが、それがtxtファイルに反映されず、その後手動でキャリッジリターンして調整した結果、キャリッジリターンだけの空行が多くなってしまうことに起因しています。
ウェブページからコピーした内容は、次のようにワードファイルに直接コピーします。
各行の後に独自の改行があるのがわかると思います
解決方法 参考までに改行だけの空行を削除してください。
空行の削除
III. このエラーを回避する方法
各行を読むときに空行かどうかを判断し、空行の場合は行を飛ばして次の行を読みます。
参考リンク
record.txtの内容
余分なキャリッジリターンを削除するソリューション
関連
-
[解決済み】CSVの改行文字が引用されていないフィールドで見られるエラー
-
[解決済み】再帰:反復中にPythonのset changed setを回避する方法 RuntimeError
-
[解決済み] [Solved] Stripping \rn from a line
-
浮動小数点例外(コアダンプ)、pytorch - エラーログ
-
[python np.where] - error:raise ValueError(ValueError: Length of values does not match length of index) エラー。
-
[解決済み] Python ValueError: JSONオブジェクトをデコードできませんでした
-
[解決済み] フラスコでPythonマルチプロセッシング
-
[解決済み] 'numpy.ndarray' オブジェクトに 'count' 属性がありません。
-
[解決済み] Python のプロットにおける上付き添え字
-
Python3 reports TypeError: '***' object is not iterable.
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】torch.stack()とtorch.cat()関数の違いとは?
-
[解決済み] np.load()はopenと一緒にする必要があります。
-
[解決済み] pyplotのウィンドウを閉じる
-
[解決済み] フラスコパイソンボタン
-
[解決済み] python - ログで無効な値が検出されました。
-
[解決済み] Python用tkinterのインストール
-
[解決済み] from utils import label_map_util Import Error: utils という名前のモジュールがない
-
python use pivot_table long table to wide table error: 集計解に数値型がない
-
Python エラー--反復不可能な int オブジェクトをアンパックできない
-
TypeError: 'dict_keys' オブジェクトは添え字を付けることができません。