|
|
import random
|
|
|
from datetime import datetime, timedelta
|
|
|
|
|
|
def generate_data(start_time: datetime, end_time: datetime, window_size: int):
|
|
|
"""
|
|
|
Generate random traffic volume data for a given time range and window size.
|
|
|
"""
|
|
|
traffic_data = []
|
|
|
current_time = start_time
|
|
|
|
|
|
while current_time < end_time:
|
|
|
|
|
|
traffic_volume = random.randint(0, 100)
|
|
|
traffic_data.append({
|
|
|
'time': current_time.strftime("%Y-%m-%d %H:%M:%S"),
|
|
|
'volume': traffic_volume
|
|
|
})
|
|
|
current_time += timedelta(minutes=window_size)
|
|
|
|
|
|
return traffic_data
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
start_time = datetime(2023, 10, 1, 8, 0, 0)
|
|
|
end_time = datetime(2023, 10, 1, 10, 0, 0)
|
|
|
window_size = 15
|
|
|
|
|
|
traffic_data = generate_data(start_time, end_time, window_size)
|
|
|
|
|
|
with open('data/traffic_data.csv', 'w') as f:
|
|
|
f.write("time,volume\n")
|
|
|
for data in traffic_data:
|
|
|
f.write(f"{data['time']},{data['volume']}\n")
|
|
|
|