这应该很容易,但因为我仍然是一个菜鸟,我被卡住了。
while循环运行了一段时间步。我想从csv文件中插入一些变量,csv文件中的每个单元都有3个整数(x,y,angle),这些整数必须被分配并传递给模拟。
这是我的尝试,但是如你所见,我仍然需要学习很多,但也许有人可以帮我解决这个问题。
...........step = 0
while traci.simulation.getMinExpectedNumber() > 0:
simulationStep()
with open('myfile.csv', 'r') as f:
lines = f.next()
new = lines.split(",",)
x = new[0]
y = new[1]
angle = new[2]
vehicle.moveTo(vehid01, x, y, angle)
step += 1........
我想每个步骤存储一行;传递这些变量。因此,当下一个时间步骤开始时,应该读取,传递csv文件的下一行,依此类推。所以新时间步,新线不起作用.x,y角度值不会改变。
有什么建议吗?谢谢你的帮助
答案 0 :(得分:0)
这有用吗?
...........step = 0
with open('myfile.csv', 'r') as f:
while traci.simulation.getMinExpectedNumber() > 0:
simulationStep()
lines = next(f) # compatible with Python 3
new = lines.split(",")
x = new[0]
y = new[1]
angle = new[2]
vehicle.moveTo(vehid01, x, y, angle)
step += 1........
答案 1 :(得分:0)
您可以使用csv
模块委派解析。
import csv
with open('myfile.csv') as f:
step = 0
reader = csv.reader(f)
while traci.simulation.getMinExpectedNumber() > 0:
simulationStep()
x, y, angle = [float(i) for i in next(reader)] # reader.next() for 2.x
vehicle.moveTo(vehid01, x, y, angle)
step += 1