Texte/CSV
Résumé
Élément | Description |
---|---|
État de publication | Disponibilité générale |
PRODUITS | Excel Power BI (Modèles sémantiques) Power BI (Dataflows) Fabric (Dataflow Gen2) Power Apps (Dataflows) Dynamics 365 Customer Insights Analysis Services |
Documentation de référence sur la fonction | File.Contents Lines.FromBinary Csv.Document |
Remarque
Certaines fonctionnalités peuvent être présentes dans un produit, mais pas dans d’autres en raison de planifications de déploiement et de fonctionnalités spécifiques à l’hôte.
Fonctionnalités prises en charge
- Importer
Se connecter à un fichier texte/CSV local à partir de Power Query Desktop
Pour charger un fichier texte ou CSV local :
Sélectionnez l’option Texte/CSV dans Obtenir les données. Cette action lance un explorateur de fichiers local dans lequel vous pouvez sélectionner votre fichier texte.
Sélectionnez Ouvrir pour ouvrir le fichier.
Dans le Navigateur, vous pouvez transformer les données dans l’éditeur Power Query en sélectionnant Transformer les données, ou charger les données en sélectionnant Charger.
Se connecter à un fichier texte/CSV local à partir de Power Query Online
Pour charger un fichier texte ou CSV local :
Dans la page Sources de données, sélectionnez Text/CSV.
Dans Paramètres de connexion, entrez le chemin d’accès au fichier texte ou CSV local souhaité.
Sélectionnez une passerelle de données locale dans Passerelle de données.
Saisissez un nom d’utilisateur et un mot de passe.
Cliquez sur Suivant.
Dans le Navigateur, sélectionnez Transformer les données pour commencer à transformer les données dans l’éditeur Power Query.
Charger à partir du web
Pour charger un fichier texte ou CSV à partir du web, sélectionnez le Connecteur web, entrez l’adresse web du fichier, et suivez toutes les invites de demande d’informations d’identification.
Délimiteurs Texte/CSV
Power Query traitera le fichiers CSV comme des fichiers structurés avec une virgule comme délimiteur, un cas spécial de fichier texte. Si vous choisissez un fichier texte, Power Query tente automatiquement de déterminer s’il a des valeurs séparées par un délimiteur, ainsi que la nature de celui-ci. S’il peut différer un délimiteur, il le traite automatiquement comme une source de données structurée.
Texte non structuré
Si votre fichier texte n’a pas de structure, vous obtenez une seule colonne avec une nouvelle ligne par ligne encodée dans le texte source. Comme échantillon de texte non structuré, vous pouvez envisager un fichier de Bloc-notes avec le contenu suivant :
Hello world.
This is sample data.
Lorsque vous le chargez, un écran de navigation s’affiche, qui charge chacune de ces lignes dans sa propre ligne.
Vous ne pouvez configurer qu’une seule chose dans cette boîte de dialogue, à savoir la liste déroulante Origine du fichier. Celle-ci vous permet de sélectionner le jeu de caractères utilisé pour générer le fichier. Actuellement, le jeu de caractères n’est pas inféré, et UTF-8 ne sera inféré que s’il commence par une Nomenclature UTF-8.
CSV
Vous pouvez trouver un échantillon de fichier CSV ici.
En plus de l’origine du fichier, CSV prend en charge la spécification du délimiteur et de la façon dont la détection du type de données sera gérée.
Les délimiteurs disponibles sont les deux-points, la virgule, le signe égal, le point-virgule, l’espace, la tabulation, un délimiteur personnalisé (qui peut une chaîne quelconque) et une largeur fixe (divisant le texte par un nombre standard de caractères).
La liste déroulante finale vous permet de sélectionner la façon dont vous souhaitez gérer la détection du type de données. Celle-ci peut être effectuée sur les 200 premières lignes ou sur le jeu de données entier. Vous pouvez également choisir de ne pas opérer de détection automatique du type de données et laisser toutes les colonnes définie par défaut sur « Texte ». Avertissement : si vous faites cela sur le jeu de données entier, le chargement initial des données dans l’éditeur pourrait être plus lent.
L’inférence pouvant être incorrecte, il est utile de vérifier les paramètres avant le chargement.
Texte structuré
Quand Power Query peut détecter la structure de votre fichier texte, il traite celui-ci comme un fichier de valeurs séparées par des délimiteurs, et vous offre les mêmes options que celles disponibles lors de l’ouverture d’un CSV (qui n’est essentiellement qu’un fichier avec une extension indiquant le type de délimiteur).
Par exemple, si vous enregistrez l’exemple suivant en tant que fichier texte, il est lu comme ayant un délimiteur tabulation plutôt que comme du texte non structuré.
Column 1 Column 2 Column 3
This is a string. 1 ABC123
This is also a string. 2 DEF456
Cela peut être utilisé pour n’importe quel autre type de fichier basé sur un délimiteur.
Modification de la source
Lors de l’étape de modification de la source, une boîte de dialogue s’affiche, légèrement différente de celle affichée lors du chargement initial. Selon la façon dont vous traitez actuellement le fichier (c’est-à-dire, comme fichier texte ou CSV), un écran affiche une série de listes déroulantes.
La liste déroulante Sauts de ligne vous permet d’indiquer si vous souhaitez appliquer des sauts de ligne entre guillemets ou non.
Par exemple, si vous modifiez l’exemple « structuré » fourni ci-dessus, vous pouvez ajouter un saut de ligne.
Column 1 Column 2 Column 3
This is a string. 1 "ABC
123"
This is also a string. 2 "DEF456"
Si l’option Sauts de ligne est définie sur Ignorer les sauts de ligne entre guillemets, le chargement s’opère comme s’il n’y avait pas de saut de ligne (avec un espace supplémentaire).
Si l’option Sauts de ligne est définie sur Appliquer tous les sauts de ligne, une ligne supplémentaire est chargée, le contenu après les sauts de ligne étant le seul contenu de cette ligne (la sortie exacte peut dépendre de la structure du contenu du fichier).
La liste déroulante Ouvrir le fichier en tant que vous permet de modifier le type de fichier que vous souhaitez charger, ce qui est important pour la résolution des problèmes. Pour des fichiers structurés qui ne sont pas techniquement des CSV (tel un fichier de valeurs séparées par des tabulations enregistré comme fichier texte), l’option Ouvrir le fichier en tant que devrait toujours être définie sur CSV. Ce paramètre détermine également les listes déroulantes disponibles dans le reste de la boîte de dialogue.
Texte/CSV par exemple
Text/CSV par exemple dans Power Query est une fonctionnalité généralement disponible dans Power BI Desktop et Power Query Online. Lorsque vous utilisez le connecteur Text/CSV, vous voyez l’option Extraire une table avec des exemples dans l’angle inférieur gauche du navigateur.
Lorsque vous sélectionnez ce bouton, vous êtes dirigé vers la page Extraire une table avec des exemples. Dans cette page, vous spécifiez des exemples de valeurs de sortie pour les données que vous souhaitez extraire de votre fichier Texte/CSV. Une fois que vous avez rempli la première cellule de la colonne, les autres cellules de celle-ci sont remplies. Pour que les données soient extraites correctement, il se peut que vous deviez remplir plusieurs cellules de la colonne. Si certaines cellules de la colonne sont incorrectes, vous pouvez corriger la première cellule incorrecte et les données seront extraites à nouveau. Vérifiez les données dans les premières cellules pour vous assurer qu’elles ont été correctement extraites.
Remarque
Nous vous recommandons d’entrer les exemples dans l’ordre des colonnes. Une fois la colonne correctement remplie, créez une nouvelle colonne et commencez à y entrer des exemples.
Une fois que vous avez fini de construire cette table, vous pouvez choisir de charger ou de transformer les données. Notez comment les requêtes résultantes contiennent une ventilation détaillée de toutes les étapes qui ont été inférées pour l’extraction de données. Ces étapes sont simplement des étapes de requête ordinaires que vous pouvez personnaliser en fonction des besoins.
Dépannage
Chargement de fichiers à partir du web
Si vous demandez des fichiers texte/CSV sur le web et promouvez des en-têtes, et que vous récupérez suffisamment de fichiers pour vous préoccuper d’une éventuelle limitation, vous devriez envisager d’envelopper votre Web.Contents
appel avec Binary.Buffer()
. Dans ce cas, la mise en mémoire tampon du fichier avant la promotion des en-têtes a pour effet que le fichier est demandé une seule fois.
Manipulation de fichier CSV volumineux
Si vous traitez des fichiers CSV volumineux dans l’éditeur Power Query Online, il se peut que vous receviez une erreur interne. Nous vous suggérons d’utiliser d’abord un fichier CSV de plus petite taille, d’appliquer les étapes de l’éditeur et, lorsque vous avez terminé, de modifier le chemin d’accès au fichier CSV plus volumineux. Cette méthode vous permet de travailler plus efficacement, et réduit vos chances de rencontrer un délai d’expiration dans l’éditeur en ligne. Nous ne nous attendons pas à ce que vous rencontriez cette erreur pendant l’actualisation, car nous accordons une durée d’expiration plus longue.
Texte non structuré interprété comme structuré
Dans de rares cas, un document qui a des nombres de virgules similaires entre les paragraphes peut être interprété comme un csv. Si ce problème se produit, modifiez l’étape Source dans l’éditeur Power Query et sélectionnez Texte au lieu de CSV dans la liste déroulante Ouvrir le fichier en tant que.
Colonnes dans Power BI Desktop
Lorsque vous importez un fichier CSV, Power BI Desktop génère une colonnes=x (où x correspond au nombre de colonnes du fichier CSV lors de l’importation initiale) en tant qu’étape dans l’éditeur Power Query. Si vous ajoutez des colonnes par la suite et que la source de données est définie pour s’actualiser, les colonnes au-delà du nombre initial x de colonnes ne sont pas actualisées.
Erreur : Connection fermée par l’hôte
Lors du chargement de fichiers texte/CSV à partir d’une source web, ainsi que de la promotion des en-têtes, il se peut que vous rencontriez les erreurs suivantes : "An existing connection was forcibly closed by the remote host"
ou "Received an unexpected EOF or 0 bytes from the transport stream."
. Ces erreurs peuvent être dues au fait que l’hôte utilise des mesures de protection et ferme une connexion qui pourrait être temporairement suspendue, par exemple, pendant l’attente d’une autre connexion de source de données pour une opération de jointure ou d’ajout. Pour contourner ces erreurs, essayez d’ajouter un appel Binary.Buffer (recommandé) ou Table.Buffer, qui télécharge le fichier, le charge en mémoire, et ferme immédiatement la connexion. Cela devrait empêcher toute pause pendant le téléchargement et empêcher l’hôte de fermer de force la connexion avant que le contenu soit récupéré.
L’exemple suivant illustre cette solution de contournement. Cette mise en mémoire tampon doit être effectuée avant que la table résultante ne soit transmise à Table.PromoteHeaders.
- Ressource d’origine :
Csv.Document(Web.Contents("https://.../MyFile.csv"))
- Avec
Binary.Buffer
:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
- Avec
Table.Buffer
:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))