Travail sur bases de données CSV
Fermébrucine Messages postés 18384 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 décembre 2024 - 29 oct. 2023 à 15:38
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse.
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Trier tableau excel - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
2 réponses
29 oct. 2023 à 12:35
Bonjour,
Selon la version d'Office (si >= 2016, c'est nativement installé), l'utilisation de Power Query pourrait faciliter tous les traitements (Import, transformation, restitution vers TCD).
A voir?
Modifié le 29 oct. 2023 à 13:38
Bonjour,
Pour traiter un fichier CSV qui comporte des points sur du numérique, je renomme le fichier .CSV en .TXT et en l'ouvrant avec Excel on passe alors par un dialogue qui permet de séparer la ligne d'entrée en colonnes et sur les colonnes numériques de transformer le . en , (sélectionner la colonne + avancé).
Quand on ouvre le CSV et que tout est sur une seule colonne, on peut retrouver l'équivalent du traitement du .txt en entrée : sélectionner la colonne puis Données/Convertir
Cela c'est quand le CSV qui a comme séparateur décimal le point et comme séparateur de champ la virgule. Un format américain. Alors qu'un CSV format français aura comme séparateur de colonne le point-virgule, et comme séparateur décimal la virgule.
Pour un format bancal, séparateur de champ point-virgule et séparateur décimal point, on peut charger directement le . csv et sur chaque colonne contenant les numériques passer par Données/Convertir pour transformer le point en virgule.
29 oct. 2023 à 14:53
Bonjour,
Je peux aussi remplacer directement dans le fichier texte le séparateur point par une virgule via un Batch:
@echo off setLocal enableDELAYedexpansion for /f "tokens=* delims=*" %%a in (bridge.txt) do ( set str=%%a echo !str:.=,! >> bridge.csv )
et même le faire directement sans transiter par un fichier texte: remplacer bridge.txt par le fichier original bridge.csv et la sortie bridge.csv par bridge1.csv puis supprimer bridge.csv
Modifié le 29 oct. 2023 à 15:18
On peut aussi le faire dans le bloc note, CTRL+H remplacer . par ,
Mais ces 2 méthodes ne sont valables que s'il n'y a pas de . dans des champs texte du fichier
29 oct. 2023 à 15:38
Il est spécifié si j'ai bien compris que les champs cible ne sont que numériques, je n'ai fait qu'obéir.
Si le fichier est de petite taille, on peut envisager des tas de variations sans se compliquer la vie.
Mais même s'il était important et renfermait d'autres champs contenant eux des points, on peut parfaitement par la même méthode soit ne traiter que les colonnes concernées, soit ne traiter le point que si les cellules qui le renferment contiennent au moins un caractère numérique avant et après.