-1
votes

Convertissez des caractères dans la chaîne en positions fixes numériques, 2 | 4 | 6 | doit être, 020406

J'ai de nombreux fichiers à modifier afin d'importer dans cPanel, MySQL. Le modèle de numéro est la mise en page, 2 | 5 | 7 | 31 | 37 | 43 | 5 Pour importer le fichier dans le champ correct, les données doivent être au format 02050731374305

est-il préférable d'utiliser NotePad ++ et d'éditer tous les fichiers ou y a-t-il un meilleur moyen d'importer ces données? Le champ MySQL n'autorise que le numérique et est limité à 14 chiffres sur ce fichier particulier.

Les fichiers que j'ai à peu près se ressemblent mais varient de longueur. Il n'y a que 2 colonnes totales dans le fichier à importer dans MySQL, CPanel.

Reg Expression pourrait fonctionner, mais j'ai trouvé des erreurs sur le remplacement, car elle recueille d'autres numéros dans la ligne et modifier les données.


3 commentaires

S'il vous plaît Modifier Titre de votre question à quelque chose qui décrit réellement le problème que vous rencontrez ou posez des questions que vous posez. Votre titre actuel répète simplement les informations qui sont déjà contenues dans les balises que vous avez utilisées (chaque mot), de sorte qu'il n'envoie rien. Votre titre doit être suffisamment clair et descriptif pour être utile à un futur site de site qui analyse une liste des résultats de recherche essayant de trouver une solution à leur problème. Merci.


Je doute que le NotePad ++ fonctionne de ce bien avec une telle chaîne, mais les langages de programmation régulière peuvent diviser votre agitation et la définir le backttopherehther sans problème. Cela pourrait également être fait dans une fonction ou une procédure stockée, mais pour cela, vous devez donner une table à jouer avec


Si cela importe, il s'agit d'un modèle «chaîne».


3 Réponses :


1
votes

Voici une solution rapide utilisant awk : xxx


2 commentaires

Bien que cela ressemble à une excellente solution, j'ai 100k + rangées dans les 150 fichiers et plus. Si je dois entrer l'écho sur chacun, je pense qu'il serait plus simple de modifier chaque colonne. Voici 7 rangées du premier fichier exemple 27-05-2020, 18 | 21 | 27 | 31 | 38 | 52 | 2 23-05-2020 , 6 | 18 | 22 | 32 | 35 | 51 | 3 20 | -05-2020 , 27 | 34 | 41 | 45 | 48 | 50 | 5 16-05-2020 , 9 | 10 | 22 | 27 | 32 | 44 | 2 13-05-2020 , 5 | 15 | 18 | 34 | 37 | 47 | 4 09-05-2020 , 6 | 23 | 32 | 33 | 42 | 49 | 5


L'ECHO était juste pour des raisons de tester l'exemple de la ligne que vous avez donnée. Vous pouvez utiliser awk pour traiter l'ensemble du fichier.



0
votes

Comme je l'a dit une fonction, qui enfreint la chaîne et construit le nouveau, vous aidera xxx

afin que vous puissiez xxx < p> et obtenir xxx


1 commentaires

Merci pour l'entrée, c'est grandement apprécié!



0
votes

Ceci peut facilement être fait avec le bloc-notes ++, à l'aide de la puissance de la recherche de surveillance.

Ceci ajoutera un zéro avant chaque chiffre seul et fonctionne pour n'importe quel nombre de valeurs:

  • ctrl + h
  • Trouvez ce que: (?
  • Remplacer par: 0
  • chèque enveloppe
  • chèque expression régulière
  • Remplacez tout

    explication: xxx

    capture d'écran (avant):

    Entrez la description de l'image ici

    Capture d'écran (après):

     Entrez la description de l'image ici


0 commentaires