[英]Python csv file / next() / while loop
这应该真的很容易,但是由于我还是菜鸟,所以我被卡住了。
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角度值不会改变。
有什么建议么? 谢谢你的帮助
这样行吗?
...........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........
您可以使用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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.