我正在尝试使用turtle图形从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
答案 0 :(得分:0)
以下内容应该让您入门。您尝试读取的文件不是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尝试解释字符串中的反斜杠。