web-dev-qa-db-fra.com

R's read.csv précédant le nom de la première colonne avec du texte indésirable

J'ai exporté des données d'une grille de résultats dans SQL Server Management Studio vers un fichier csv. Le fichier csv semble correct.

Mais lorsque je lis les données dans un cadre de données R à l'aide de read.csv, le nom de la première colonne est précédé de "ï ..". Comment puis-je me débarrasser de ce texte indésirable?

Exemple:

str(trainData)

'data.frame':   64169 obs. of  20 variables:    
 $ ï..Column1             : int  3232...   
 $ Column2                : int  4242...

Les données ressemblent à ceci (rien de spécial):

Colonne1, Colonne2
100116577,100116577
100116698,100116702

20
Daniel PP Cabral

Vous avez une nomenclature Unicode UTF-8 au début du fichier:

http://en.wikipedia.org/wiki/Byte_order_mark

Un éditeur de texte ou un navigateur Web interprétant le texte comme ISO-8859-1 ou CP1252 affichera les caractères ï "¿pour cela

R vous donne le ï puis convertit les deux autres en points car ce sont des caractères non alphanumériques.

Ici:

http://r.789695.n4.nabble.com/Writing-Unicode-Text-into-Text-File-from-R-in-Windows-td4684693.html

Duncan Murdoch suggère:

Vous pouvez déclarer un fichier en encodage "UTF-8-BOM" si vous souhaitez ignorer une nomenclature en entrée

Alors essayez votre read.csv avec fileEncoding="UTF-8-BOM" ou persuadez votre wotsit SQL de ne pas sortir de nomenclature.

Sinon, vous pouvez aussi tester si le prénom commence par ï.. et supprimez-le avec substr (tant que vous savez que vous n'aurez jamais de colonne qui commence vraiment comme ça ...)

34
Spacedman