我閱讀并使用了一個(gè)大文件(較小的塊不會(huì)給我錯(cuò)誤)并閱讀它。但是當(dāng)我嘗試使用時(shí):kv_pairs = [kv.split(":",1) for kv in tokens[6:]]features = {k: float(v) for (k, v) in kv_pairs}我收到錯(cuò)誤:{k: float(v) for (k, v) in kv_pairs}ValueError: not enough values to unpack (expected 2, got 1)我嘗試使用文件的小塊,它在那里工作。問(wèn)題出在特定的輸入條目上。我該如何調(diào)試,以便我可以從文件中刪除該行。
2 回答

白衣染霜花
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超10個(gè)贊
“我如何調(diào)試,以便我可以從文件中刪除該行? ”您不必在文件中刪除它。你可以像這樣閱讀時(shí)跳過(guò)它
kv_pairs = [kv.split(":",1) for kv in tokens[6:] if ":" in kv]
這將確保tokens[6:]
沒(méi)有鍵值對(duì)(由“:”分隔)的任何成員都將被跳過(guò)。

慕無(wú)忌1623718
TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
這意味著其中至少有一個(gè)字符串tokens[6:]
不包含 a :
,例如空字符串或其他內(nèi)容。
要?jiǎng)h除違規(guī)行,請(qǐng)更改:
kv_pairs = [kv.split(":",1) for kv in tokens[6:]]
到:
kv_pairs = [kv.split(":",1) for kv in tokens[6:] if ':' in kv] # filter out the strings without a ':'
添加回答
舉報(bào)
0/150
提交
取消