Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour, j'essaie d'importer un fichier brut comportant 2 delimitateurs de mes données (virgules et point-virgule) or quand j'essaie de l'importer à priori Qlik sense ne me propose d'utiliser qu'un seul delimitateur (soit virgules ou soit point-virgule mais pas les deux en même temps). Comment puis je faire dans ce cas
Bonjour
charger sans délimiteur dans une table provisoire pour n'avoir qu'un seul champ
puis recharger cette table en remplaçant ; par , ou l'inverse suivant quel délimiteur tu veux
sauvegarder cette table en CSV
Recharger cette table cette fois avec le délimiteur voulu soit , soit ;
Je n'y parviens pas; pouvez vous le faire avec ce fichier test ?
Bonjour
Ci joint un exemple avec un fichier csv contenant 2 séparateurs ( Virgule et point-virgule)
Le principe consiste à charge ce fichier en une seule colonne sans tenir compte de séparateurs , en remplaçant au chargement le séparateurs qu'on ne veut pas ( Ici je remplace ; par ,) et sauvegarder la table en csv
Puis de recharger la table sauvegarder , cette fois en incluant le séparateur.
J'ai donc un fichier csv avec des séparateurs différents :
Je charge ce fichier comme ceci : en ne chargeant qu'une colonne sans entête et sans nom ( Qlik créé le nom [@1:n] et à l'intérieure de ce champ je remplace les ; par , avec la fonction replace() :
[TEMP]:
LOAD
replace([@1:n],';',',')
FROM [lib://Documents/Export_QS_CSV.csv]
(fix, codepage is 28591, no labels );
store TEMP into [lib://Documents/TEMP.csv ](txt, delimiter is ',');
drop table [TEMP];
Je sauvegarde ce fichier avec un Store
mon fichier cette fois se présente comme ceci :
J'ai bien des vigules partout mais là ou il y avait des ; le fichier comporte des guillemets en début et fin
Je recharge ce fichier en enlevant les guillemets sur les lignes ou elle sont présentes comme ceci toujours avec la fonction replace :
[TEMP]:
LOAD
replace(["MOIS],'"','') as MOIS,
[SEMAINE],
[DATE_JOUR],
[LIGNE],
[INDICATEURS],
[VOLUME],
[TYPE],
replace([GROUPE"],'"','') as [GROUPE]
FROM [lib://Documents/TEMP.csv]
(txt, utf8, embedded labels, delimiter is ',', no quotes, header is 1 lines);
Voilà avec çà tu dois pourvoir adapter le script à ton besoin
bonne journée
Bonjour
voici le script :
[TEMP]:
LOAD
replace(replace(replace(replace([@1:n],';',','),':',','),'[',''),']','')
FROM [lib://Documents/TEST.txt]
(fix, codepage is 28591, no labels );
store TEMP into [lib://Documents/TEMP.csv ](txt, delimiter is ',');
drop table [TEMP];
[TEMP]:
LOAD
[@1:n]
FROM [lib://Documents/TEMP.csv]
(fix, codepage is 28591, no labels );
store TEMP into [lib://Documents/TEMP.csv ](txt, delimiter is ',');
drop table [TEMP];
[TEST1]:
LOAD
replace(["""num],'"""','') as num,
[Date],
[heure],
[num2],
[type],
[id1],
[id2],
[id3],
[id4],
[id5],
replace([id6"""],'"""','') as id6
FROM [lib://Documents/TEMP.csv]
(txt, utf8, embedded labels, delimiter is ',', no quotes, header is 2 lines);
Bonjour
voici le script :
[TEMP]:
LOAD
replace(replace(replace(replace([@1:n],';',','),':',','),'[',''),']','')
FROM [lib://Documents/TEST.txt]
(fix, codepage is 28591, no labels );
store TEMP into [lib://Documents/TEMP.csv ](txt, delimiter is ',');
drop table [TEMP];
[TEMP]:
LOAD
[@1:n]
FROM [lib://Documents/TEMP.csv]
(fix, codepage is 28591, no labels );
store TEMP into [lib://Documents/TEMP.csv ](txt, delimiter is ',');
drop table [TEMP];
[TEST1]:
LOAD
replace(["""num],'"""','') as num,
[Date],
[heure],
[num2],
[type],
[id1],
[id2],
[id3],
[id4],
[id5],
replace([id6"""],'"""','') as id6
FROM [lib://Documents/TEMP.csv]
(txt, utf8, embedded labels, delimiter is ',', no quotes, header is 2 lines);