编写一个 Python 程序,记录了某出租汽车公司部分车辆某日0:00~23:00的车辆位置,无标题行。对应列分别是时间、车牌号、北纬、东经。部分数据如下所示。 0:00,沪NX2119,31.2740300000,121.2837400000 1:0
时间: 2024-02-05 21:10:32 浏览: 59
micKeyDetector:用python编写Linux键盘记录程序检测器
以下是一个简单的 Python 程序,可以读取文件中的车辆位置信息,并可以根据车牌号和时间范围来查询特定车辆的行驶轨迹。
```python
# -*- coding: utf-8 -*-
"""
Created on Mon Sep 27 22:02:35 2021
@author: your name
"""
def read_data(filename):
"""读取数据文件,返回一个字典,键是车牌号,值是该车一天内的行驶轨迹"""
data = {}
with open(filename, 'r') as f:
# 跳过第一行
f.readline()
for line in f:
time, car_id, lat, lon = line.strip().split(',')
if car_id not in data:
data[car_id] = []
data[car_id].append((time, float(lat), float(lon)))
return data
def get_trajectory(data, car_id, start_time, end_time):
"""查询特定车辆在指定时间范围内的行驶轨迹"""
if car_id not in data:
return []
trajectory = []
for t, lat, lon in data[car_id]:
if t >= start_time and t <= end_time:
trajectory.append((lat, lon))
return trajectory
if __name__ == '__main__':
data = read_data('car_locations.csv')
car_id = '沪NX2119'
start_time = '0:00'
end_time = '23:00'
trajectory = get_trajectory(data, car_id, start_time, end_time)
print(f'车牌号为 {car_id} 的车辆在 {start_time} 到 {end_time} 期间的行驶轨迹:')
for lat, lon in trajectory:
print(f'({lat}, {lon})')
```
其中,数据文件 `car_locations.csv` 格式类似于:
```
时间,车牌号,北纬,东经
0:00,沪NX2119,31.2740300000,121.2837400000
1:00,沪NX2119,31.2791700000,121.2881700000
2:00,沪NX2119,31.2853000000,121.2922200000
...
```
你可以将实际的数据文件名替换成 `'car_locations.csv'`,同时根据实际需要修改车牌号和时间范围等参数,以便对行驶轨迹进行查询。
阅读全文