python - 使用Python从CSV绘制像素坐标

标签 python python-3.x opencv turtle-graphics

我从图像中提取了像素坐标(x,y)。为了验证坐标,我试图绘制那些像素坐标。但是我做不到。

我试图用乌龟密谋,但我还是做不到

import turtle
import math

def drawMap():
    filename = r"build_coords.csv"

    trace = turtle.Turtle()
    trace.up()

    #scr = Screen()

    with open(filename, 'r') as f_input:
        for row in f_input:
            row = row.strip('()\n').split(',')
            x = float(row[0])
            y = float(row[1])
            trace.goto(x,y)
            trace.write(".")
    raw_input()
    #scr.mainloop()
drawMap()

ValueError: could not convert string to float: '0\t3'



请帮助解决此问题。提前致谢

最佳答案

您的输入逻辑:

x, y = row.strip('()\n').split(',')

似乎暗示输入形式:
(10, 20)
(30, 40)

不是CSV。您的错误消息似乎暗示输入了以下形式:
10\t20
30\t40

因此,正确回答您的问题的关键是让您向我们展示一些示例输入。下面是对代码的重做:
from turtle import Turtle, Screen

FILENAME = "build_coords.csv"

def drawMap(filename):
    trace = Turtle(visible=False)
    trace.penup()

    with open(filename) as f_input:
        header = f_input.readline().rstrip()  # "X,Y"

        for row in f_input:
            x, y = row.rstrip().split(',')  # 10,20\n
            trace.goto(float(x), float(y))
            trace.dot(2)

screen = Screen()

drawMap(FILENAME)

screen.exitonclick()

更新

根据您的评论,我现在假设数据为CSV,如下所示:
X,Y
0.0,3.0
0.0,4.0
0.0,5.0
0.0,6.0
0.0,8.0
0.0,10.0
0.0,11.0
0.0,15.0
0.0,16.0

我已经相应地更新了上面的代码。

关于python - 使用Python从CSV绘制像素坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45214527/

相关文章:

python - 希望在 pytest 输出中查看取消选择的测试列表及其节点 ID

python - pip 3 : bad interpreter: No such file or directory

python - 在 Python 中创建不可变对象(immutable对象)

python - 如何在 Spark 数据框中的不同列中应用许多操作并使用新别名保存它们

opencv - 借助JAVACV计划树立信心

ios - OpenCV 以像素为单位获取坐标/半径

python - Pandas:高效插入大量行

python - python 字典中的键值一致性

python - Pandas - 联合完成专栏

opencv - 查找和计算齿轮 opencv