J'ai une application Web qui exporte ses données dans un fichier CSV. Voici un exemple de ligne du fichier CSV en question:
28,"65154",02/21/2013 00:00,"false","0316295","8316012,8315844","MALE"
Comme je ne peux pas publier une image, je vais devoir expliquer les résultats dans Excel. Le champ "0316295" est transformé en nombre et le 0 de tête disparaît. Le "8316012,8315844" est interprété comme un seul numéro: 83,160,128,315,844. Ce n'est évidemment pas le résultat escompté.
J'ai vu des gens recommander une citation unique pour ces cas, mais cela ne fonctionne pas vraiment non plus.
28,"65154",02/21/2013 00:00,"false","'0316295","'8316012,8315844","MALE"
Le guillemet simple est visible à tout moment dans la cellule dans Excel, bien que si j'entre moi-même un nombre avec un guillemet simple de tête, il affiche uniquement la chaîne prévue et non le guillemet simple avec la chaîne.
L'importation n'est pas la même chose que la frappe, semble-t-il.
Quelqu'un a une solution ici?
la source
Réponses:
Cela devrait fonctionner
la source
00E3
par 0 (0 * 10 ^ 3) et l'affiche sous forme de notation sci (0,00E + 00). Il fait en fait la même chose"00e3"
sans=
. Mais="00e3"
fonctionne parfaitement. (ouverture d'un CSV avec Excel 2010)Pour conserver le (s) zéro (s) en tête, vous pouvez définir le format de cette colonne spécifique sur Texte dans l'Assistant Importation de texte.
"
. Cliquez sur Suivant .C'est ici que vous pouvez spécifier les formats . Cliquez sur l'en-tête de la colonne dont vous souhaitez conserver le (s) zéro (s) de tête. Sélectionnez Texte . (Voir l'image ci-dessous)
Appuyez sur Terminer, puis sélectionnez un emplacement approprié pour vos données. Exemple de résultat:
Edit : Il y a une autre façon ; faites exporter l'application Web vers un fichier .TXT délimité par des virgules au lieu de .CSV (ou modifiez simplement l'extension du fichier exporté après l'avoir enregistré). Cela oblige Excel à passer par l'assistant d'importation lorsqu'ils ouvrent le fichier. Comme avantage supplémentaire, il réduit les chances que les utilisateurs modifient ou falsifient vos données brutes d'origine.
la source
.TXT
au lieu de.CSV
(ou changez simplement l'extension de fichier du fichier exporté). Ce type de "force" les utilisateurs à passer par l'assistant d'importation lorsqu'ils ouvrent le fichier.Excel traite les valeurs numériques commençant par un caractère de tabulation comme du texte.
Apparaîtra comme:
| est la limite de la cellule (à des fins d'illustration). Ainsi, par exemple, si votre système génère le fichier CSV à l'aide du jeu de caractères utf-8, vous pouvez ajouter le
	
(Tab Tab in Hex) avant votre valeur numérique pour forcer Excel à l'interpréter comme du texte.la source
Excel détectera automatiquement le format d'un champ CSV, sauf si la colonne CSV est dans ce format:
Cela fonctionne également pour les feuilles Google
la source
Vous devez utiliser la fonctionnalité "Données -> Obtenir des données externes -> Importer du texte à partir d'un fichier" dans Excel pour l'afficher sous forme de texte. Il s'agit de l'assistant d'importation de texte @Kaze mentionné.
La seule façon de forcer Excel à afficher des nombres sous forme de texte à partir de l'entrée, sans que l'utilisateur n'ait rien à faire, est de sortir un fichier Excel et de spécifier un "format numérique personnalisé". Je recommande d'utiliser une bibliothèque d'exportation XLS pour cela, car cela ne semble pas aussi simple que d'ajouter une ligne de texte de configuration dans un fichier CSV.
la source
essayez la fonction propre pour les valeurs qui sont gâchées. Par exemple = nettoyer ("12345678901234567890"). Cela fonctionne pour moi pour les nombres, les dates, les heures, etc. Je voudrais avertir que puisque ce n'est pas du tout le but de cette fonction que cela pourrait cesser de fonctionner avec de nouvelles versions, etc.
la source