J'ai un exemple de fichier tiré d'un rapport Covid sur la réouverture des repas de fichiers qui était à l'origine présenté comme un article de journal à deux colonnes.L'outil PDF a apporté le fichier comme illustré dans les colonnes 3 et 5 de "To-dineornot_test.jmp."Le script a été copié à partir d'un échange dans la Communauté.J'ai changé les noms des colonnes. Dans le fichier "Column D" est le résultat du script.
Je trouve que l'opérateur de concaténation a fonctionné UNIQUEMENT sur les lignes 3 et 9.Qu'est-ce que je rate?
À l'inspection, les cellules semblent toutes être du texte. Ce ne sont peut-être pas des rendus parfaits du PDF original à 2 colonnes, mais ils sont assez proches.Je ne veux pas manquer le matériel qui n'a pas été concaténé correctement.
Le problème est que vous avez des caractères de retour chariot et de nouvelle ligne intégrés dans votre colonne 3. Si vous faites glisser la limite de la ligne et faites de chaque cellule une cellule sur plusieurs lignes, vous verrez les caractères qui suivent les lignes

Les valeurs hexadécimales à l'origine du problème sont 0A et 0D.Vous trouverez ci-dessous un petit morceau de code qui supprimera les valeurs.Il laissera à la place du 0A un espace vide, mais pas pour le 0D.Le raisonnement derrière cela est qu'ils apparaissent toujours ensemble, et qu'un seul espace vide est nécessaire.
Names Default To Here( 1 );
dt = Current Data Table();
For( k = 1, k <= N Rows( dt ), k++,
value = "";
For( i = 1, i <= Length( :column 3[k] ), i++,
If(
Char To Hex( Substr( :column 3[k], i, 1 ) ) ==
"0A", value = value || " ",
Char To Hex( Substr( :column 3[k], i, 1 ) ) !=
"0D",
value = value || Substr( :column 3[k], i, 1 )
)
);
:column 3[k] = value;
);