【问题标题】:Plotting map with coordinate from a csv file using Python turtle使用 Python turtle 绘制带有 csv 文件坐标的地图
【发布时间】:2016-03-13 10:40:47
【问题描述】:

我正在尝试使用海龟图形从 csv 文件中绘制地图。

我的 csv 文件在这里:http://textuploader.com/5nau2

我的程序:

import turtle
import csv
import math

def drawMap():
    filename = "C:\python-exercises\coordinates1.csv"

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

    #scr = Screen()

    with open(filename, 'r') as csvfile:
        reader = reader = csv.DictReader(csvfile)
        for row in reader:

            x = (row[0])
            y = (row[1])
            trace.goto(x,y)
            trace.write(".")
    raw_input()
    #scr.mainloop()
drawMap()

但它没有显示任何内容,并且还会产生如下错误:

x = row([0])

keyError: 0

【问题讨论】:

    标签: python csv turtle-graphics


    【解决方案1】:

    以下内容应该可以帮助您入门。您尝试读取的文件不是csv 格式,因此您可以按如下方式读取自己的行,而不是使用 csv 库:

    import turtle
    import math
    
    def drawMap():
        filename = r"C:\python-exercises\coordinates1.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()
    

    这需要每一行,删除外括号和换行符并将其分成两列。然后将这些列转换为 floats 以供您的海龟程序解释。

    如果您不确定某些事情为什么不工作,请添加一些 print 语句以查看发生了什么。

    另外,不要忘记在文件名路径前加上 r 前缀,这会阻止 Python 尝试解释字符串中的反斜杠。

    【讨论】:

      猜你喜欢
      • 2021-05-17
      • 1970-01-01
      • 2016-09-22
      • 1970-01-01
      • 2014-06-01
      • 2021-02-15
      • 1970-01-01
      • 1970-01-01
      • 2011-05-14
      相关资源
      最近更新 更多