Python csv file/next()/while循环

2024-09-28 22:30:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这应该很容易,但因为我还是个笨蛋,我被卡住了。在

循环在一定时间步长上运行。我想从一个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角度值不会改变。在

有什么建议吗?谢谢你的帮助


Tags: 文件csvnewstep时间整数速度笨蛋
2条回答

您可以使用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

这行吗?在

...........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........

相关问题 更多 >