# Ajustements Le fichier peut être rapidement inspecté avec la commande `head` : ```shell head data/weather_raw_full.csv ``` ```output time,temperature,humidity,pressure,illuminance,wind_speed,wind_direction,rain_rate 2025-03-10 09:35:23.156646+00:00,,,996.95,,,, 2025-03-10 09:35:23.158538+00:00,10.6,,,,,, 2025-03-10 09:35:23.162398+00:00,,83.0,,,,, 2025-03-10 09:35:23.164634+00:00,,,,,7.4,, 2025-03-10 09:35:23.170122+00:00,,,,,,256.0, 2025-03-10 09:35:23.183555+00:00,,,,,,,0.0 2025-03-10 09:35:41.211148+00:00,,,,20551.2,,, 2025-03-10 09:36:22.638255+00:00,,,,,12.2,, 2025-03-10 09:36:22.640356+00:00,,,,,,306.0, ``` On peut voir que HomeAssistant écrit une nouvelle entrée pour chaque capteur, alors qu'on aurait pu s'attendre à une ligne unique pour l'ensemble des capteurs. Le script suivant s'occupe de regrouper les données de capteurs dont l'enregistrement est proche : ```shell python -m scripts.format_raw_csv ``` ```output Fichier brut chargé : data/weather_raw_full.csv Lignes : 1570931, colonnes : ['temperature', 'humidity', 'pressure', 'illuminance', 'wind_speed', 'wind_direction', 'rain_rate'] Type d'index : Après combinaison (1s) : 630171 lignes ✔ Fichier formaté écrit dans : /Users/richard/Documents/donnees_meteo/data/weather_formatted_1s.csv ``` Un nouveau document CSV intermédiaire est donc créé. ```shell head data/weather_formatted_1s.csv ``` ```output time,temperature,humidity,pressure,illuminance,wind_speed,wind_direction,rain_rate 2025-03-10 09:35:23+00:00,10.6,83.0,996.95,,7.4,256.0,0.0 2025-03-10 09:35:41+00:00,,,,20551.2,,, 2025-03-10 09:36:22+00:00,,,,20247.6,12.2,306.0, 2025-03-10 09:36:52+00:00,,,,20199.6,9.3,246.0, 2025-03-10 09:37:22+00:00,,,,20034.0,7.9,, 2025-03-10 09:37:52+00:00,,,,20124.0,7.4,284.0, 2025-03-10 09:38:22+00:00,,,,19860.0,9.7,215.0, 2025-03-10 09:39:22+00:00,,,,19722.0,11.4,203.0, 2025-03-10 09:40:22+00:00,,,,19720.8,10.0,209.0, ``` Il reste des cellules vides : en effet, HA n'enregistre pas la valeur d'un capteur si elle n'a pas changé depuis la dernière fois. On fait donc : ```shell python -m scripts.fill_formatted_1s ``` ```output Fichier 1s formaté chargé : data/weather_formatted_1s.csv Lignes : 630171, colonnes : ['temperature', 'humidity', 'pressure', 'illuminance', 'wind_speed', 'wi nd_direction', 'rain_rate'] Après propagation des dernières valeurs connues : 630171 lignes ✔ Fichier 1s 'complet' écrit dans : /Users/richard/Documents/donnees_meteo/data/weather_filled_1s.csv ```