48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
import os
|
|
import pandas as pd
|
|
from datetime import datetime, timedelta
|
|
import numpy as np
|
|
|
|
# Base path for the folder structure
|
|
base_path = "data"
|
|
|
|
# Create the folder structure
|
|
raw_path = os.path.join(base_path, "raw")
|
|
processed_path = os.path.join(base_path, "processed")
|
|
|
|
os.makedirs(raw_path, exist_ok=True)
|
|
os.makedirs(processed_path, exist_ok=True)
|
|
|
|
# Define the number of zeros to pad
|
|
num_damages = 5
|
|
num_tests = 10
|
|
damage_pad = len(str(num_damages))
|
|
test_pad = len(str(num_tests))
|
|
|
|
for damage in range(1, num_damages + 1): # 5 Damage levels starts from 1
|
|
damage_folder = f"DAMAGE_{damage:0{damage_pad}}"
|
|
damage_path = os.path.join(raw_path, damage_folder)
|
|
os.makedirs(damage_path, exist_ok=True)
|
|
|
|
for test in range(1, 11): # 10 Tests per damage level
|
|
# Filename for the CSV
|
|
csv_filename = f"D{damage:0{damage_pad}}_TEST{test:0{test_pad}}.csv"
|
|
csv_path = os.path.join(damage_path, csv_filename)
|
|
|
|
# Generate dummy data
|
|
num_rows = 10
|
|
start_time = datetime.now()
|
|
timestamps = [start_time + timedelta(seconds=i*0.0078125) for i in range(num_rows)]
|
|
values = np.random.randn(num_rows) # Random float values
|
|
|
|
# Create DataFrame
|
|
df = pd.DataFrame({
|
|
"Time": timestamps,
|
|
"Value": values
|
|
})
|
|
|
|
# Save the CSV file with a custom header
|
|
with open(csv_path, 'w') as file:
|
|
file.write('sep=,\n') # Writing the separator hint
|
|
df.to_csv(file, index=False)
|