程序提示ValueError: too many values to unpack (expected 2),修改try: points3D = pd.read_csv('point_1.txt', sep='\t', header=None, error_bad_lines=False, na_values='?') coordinates = pd.read_csv('image_3_2.txt', sep='\t', header=None, error_bad_lines=False, na_values='?') tree = KDTree(points3D.iloc[:, :2].values) with open("result.txt", 'w', encoding='utf-8') as f1: for i in range(coordinates.shape[0]): x_axis_coord, y_axis_coord = coordinates.iloc[i, :2].values query_point = [x_axis_coord, y_axis_coord] dist, index = tree.query(query_point) f1.write(str(points3D.iloc[index, 0]) + " " + str(points3D.iloc[index, 1]) + " " + str(points3D.iloc[index, 2]) + " " + '\n')
时间: 2024-03-29 11:41:10 浏览: 73
关于 Python opencv 使用中的 ValueError: too many values to unpack
这个错误提示意味着 unpack 的值太多了,期望的是两个值,但实际上有更多的值。可能的原因是在 `coordinates.iloc[i, :2].values` 这一行代码中,返回了三个或更多的值。你可以在这一行代码前面加上 `print(coordinates.iloc[i, :2].values)` 来查看这个数组的值,然后检查是否有多余的值。如果有,你可以使用 `x_axis_coord, y_axis_coord, _ = coordinates.iloc[i, :3].values` 来跳过多余的值。如果你不需要这个值,你可以用任何变量名代替 `_`。
阅读全文