web-dev-qa-db-fra.com

Comment lire un fichier .csv contenant des apostrophes dans R?

J'ai des difficultés à obtenir R pour lire un fichier .txt ou .csv contenant des apostrophes.

Certaines de mes colonnes contiennent du texte descriptif, telle que "assiste aux besoins des clients" ou "député du shérif". Mon fichier s'ouvre correctement dans Excel (c'est-à-dire que toutes les données apparaissent dans les cellules correctes; il y a 3 colonnes et environ 8 000 rangées, et il n'y a pas de données manquantes). Mais quand je demande à lire le fichier, c'est ce qui se passe:

data <-read.table("datafile.csv", sep=",", header=TRUE)
  Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
  line 520 did not have 3 elements

(La ligne 520 est la première ligne contenant une apostrophe.)

Si j'installez dans le fichier .txt ou .csv et supprimez manuellement toutes les apostrophes, alors r lit le fichier correctement. Cependant, je préfère garder les apostrophes si je peux.

Je suis nouveau à r et vous seriez reconnaissant de toute aide.

34
user1257313

Par défaut, read.table Voit des guillemets simples et doubles de guillemets. Vous devez ajouter quote="\"" à ton read.table appel. Ou, vous pouvez simplement utiliser read.csv, qui ne voit que des citations doubles en tant que caractères citant par défaut.

35
Joshua Ulrich

En étudiant minutieusement les options dans? Read.table paiera à long terme. Les valeurs par défaut des caractères de citation sont Quote = "\" "", qui n'est vraiment que deux caractères après l'expression, une citation unique et une double citation. Vous pouvez les supprimer à la fois de la considération en utilisant quotes=NA. Il est parfois nécessaire de supprimer également le "commentaire" de défaut de défaut sur "#", et il peut être utile de changer "AS.En" à true pour empêcher les chaînes de se convertir en facteurs.

8
42-

Réglage du paramètre citation = "\\" en lecture.table devrait faire le tour.

1
Aarti Kumar