2010-12-23 4 views
1

J'utilise SAS 9.1.3 sous AIX 5.3SAS 9.1.3 peut-il lire le fichier csv avec la nomenclature utf8?

Je dois importer un fichier CSV en utilisant SAS.
La première ligne de CSV est un nom de colonne.
SAS signale une erreur dans le journal.

Puis, je découvre que le fichier CSV a 3 caractères
(qui est la marque de commande utf8 octets).
au tout début du fichier.

J'ai essayé d'utiliser:

filename XXX 'XXXXXXXXXX' BOM ; 

Mais, ceci est une erreur de syntaxe.

Je remplace BOM avec BOMFILE, toujours erreur de syntaxe.

Il semble que SAS 9.1.3 ne puisse pas reconnaître les options de nomenclature.

Est-ce que quelqu'un a une expérience similaire?

+0

Essayez runsubmit.com - c'est comme StackOverflow mais uniquement pour SAS. –

Répondre

0

au lieu de la procédure d'importation, vous pouvez essayer une étape de données comme les suivantes:

data test; 
    infile "data.csv" firstobs=2 dlm=','; /* assuming delimiter is a comma */ 
    input         /* use Input with $UTF8Xw. informat */ 
    field1 $utf8x3.      /* input fields 1 through 3 */ 
    field2 $utf8x10. 
    field3 $utf8x3. 
    ; 
    run; 
0

SAS peut lire (au moins 9,1 plus), mais votre session SAS doit être en cours d'exécution avec les options de DBCS et d'encodage ensemble.

-DBCS -encoding UTF-8

Ceux-ci doivent être dans le fichier sasconfig ou sur la ligne de commande d'appel. Avec ces options, le codage par défaut est Unicode pour la session SAS. Sans cela, les options Unicode passent des contrôles de syntaxe mais n'ont aucun effet.

Vous pouvez essayer d'utiliser l'instruction d'encodage = options infile mais pour moi cela n'a jamais fonctionné. Pour plus d'informations, voir aussi http://www.phuse.eu/download.aspx?type=cms&docID=3658

Questions connexes