Je dois modifier le délimiteur d'un fichier CSV de la virgule (,) en tuyau (|) Symbole.
Remarque: Ici, le séparateur de fichiers est également à l'intérieur de la chaîne de données. J'ai besoin de sauter cette valeur j'ai essayé une commande, mais cela change d'initié une virgule d'initiée entrée> Sample.csv p> sortie> sample_out.csv doit être comme. P> awk '$ 1 = 1' fs = "fs =", "ofs =": "Sample.csv code> (j'ai essayé cela mais pas Sortie attendue) p>
Col1| Col2| Col3|Col4
101 | XYZ | 2020 | "Hello, World"
102 | PQR |2021 | "Help, Me"
3 Réponses :
de -t séparateur d'entrée Char. P>
Séparateur de sortie -UN Char. P>
blockQuote> chat p>
Ceci concaténe les fichiers d'entrée ensemble et les écrit à
le résultat. Vous pouvez l'utiliser pour changer le caractère du séparateur. P>
awk code> est pour le traitement de texte brut et ne peut donc pas gérer des virgules dans des guillemets. Au lieu de cela, vous devez utiliser des outils conçus pour CSV comme
csvtool code>:
csvtool code> doc: p>
Example: csvtool -t TAB -u COMMA cat input.tsv > output.csv
Vous devez faire des actions pour prendre soin de ces virgules citées.
Vous pouvez commencer à changer en quelque chose d'autre: alors vous pouvez modifier les virgules restantes en ce que vous voulez: p> et vous changez. le § dans les virgules avant son p> Je pense que vous pouvez créer un fichier AWK et mettre toutes les étapes à cela. P> P>
Essayez ceci, la manipulation spéciale de citations doubles est nécessaire, alors divisez les champs avec celui-ci, de traiter le champ alternatif et remplacez la virgule au tuyau.
Col1| Col2| Col3 | Col4 101| XYZ| 2020 | "Hello, World" 102| PQR| 2021| "Help, Me"
Voici une solution python si vous n'avez pas de chance Stackoverflow.com/a/21527170/2836621