Excel 2016 Texte en colonnes 255 caractères maximum

2

Lors de l'importation d'un fichier csv dans Excel, il existe une colonne de données contenant parfois plus de 255 caractères. Lors de l'exécution de la commande text to column, ces cellules sont tronquées à 255 caractères. Y at-il moyen de contourner ce problème dans Excel 2016?

rajiv.cla
la source
Je ne peux pas reproduire votre problème. Je n'ai aucun problème avec l'importation de fichiers csv contenant plus de 255 caractères dans un champ. S'il vous plaît fournir plus de détails sur ce qui se passe?
Ron Rosenfeld
Essayez cette chaîne. C'est un exemple d'une des colonnes. Seules les virgules sont divisées. Après la division, vous pouvez voir que la longueur est de 255 caractères. Il devrait être de 374. 'asdf, -21 | 204; 2,25; 23 | -189; 1; -47 | 66; 0,5; 33 | -128; 1,25; -26 | 284; 2; 36 | -212; 2,25; -24 | 72; 0,25; 72 | -60; 0,75; -20 | 115; 2,25; 13 | -171; 3; -14 | 93; 1,25; 19 | -51; 1,25; -10 | 152; 1; 38 | -132; 1,25; -26 | 62; 0,75; 21 | 561; 1; -1 40 | 61; 0,75; 20 | -156; 0,5; -78 | 101; 1,25; 20 | -319; 1,75; -46 | 118; 1.25; 24 | -
rajiv.cla

Réponses:

1

Votre chaîne qui, lorsque je la copie / la colle, ne contient que 281 caractères. Donc, je m'attendrais à ce qu'il se scinde en deux chaînes de 5 et 275 caractères.

Cependant, cette chaîne a quelque chose d'étrange, et il semble que l'ancien assistant de Text-to-Columns l'a tronquée à 255 caractères. Au début, je pensais que cela pouvait être lié aux différents caractères Unicode ZWSPet ZWNJdispersés ici et là. Mais les remplacer par des espaces entraîne toujours la même troncature.

D'autres chaînes de texte ASCII peuvent être divisées sur la virgule même avec des longueurs beaucoup plus grandes que 255. Peut-être un bogue?

Cependant, dans Excel 2016, vous pouvez utiliser l'outil de fractionnement de colonnes accessible à partir de l' Get & Transformonglet du Dataruban. Si vous avez mis à jour votre version (par exemple via Office 365), cela peut s’ouvrir lorsque vous double-cliquez sur un fichier CSV. Si ce n'est pas le cas, ouvrez votre fichier à l'aide de la From Text/CSVsélection de Get & Transform Data. Suivez les instructions (il devrait indiquer un type de fichier Unicode), puis sélectionnez une virgule pour la division de colonne. En faisant cela, il se sépare correctement.

De plus, si vous pouvez importer la ligne csv dans une seule ligne (non divisée) dans Excel, vous pouvez utiliser l' From Table/Rangeoption on Get & Transformpour naviguer jusqu'à la commande de division de colonne qui fonctionnera.

EDIT: Une enquête plus poussée à ce sujet révèle que le bogue semble être déclenché si le premier caractère du segment suivant la virgule est un signe plus (+), moins (-) ou égal (=).

Il s'avère qu'une autre solution de contournement pour le bogue consiste à spécifier que la colonne soit classée en tant que TEXT (étape 3 de l'Assistant). Cela peut être utile pour ceux qui possèdent d'anciennes versions d'Excel.

Ron Rosenfeld
la source
La commande split column était ce que je devais utiliser. Merci!
rajiv.cla
1

Non, il n'y en a pas. Il s'agit de la limitation de la "largeur de colonne" spécifiée dans la spécification: limites Excel 2016

Le mieux serait de scinder le contenu avant de l'importer à l'aide d'un type de script. c'est à dire python. Beaucoup d'exemples sur le débordement de pile comme:

https://stackoverflow.com/questions/7111068/split-string-by-count-of-characters

TomEus
la source
1
Cette limite concerne la largeur de la colonne. Ce n'est pas le même que le nombre de caractères dans une cellule. Ce qui est quelque chose comme 32 767
Ron Rosenfeld
Je pense que cela dépend de la manière dont il est importé
TomEus
Comment l'importeriez-vous dans Excel 2016 et limiteriez le contenu de la cellule à 255 caractères?
Ron Rosenfeld