Comment lire un fichier .csv contenant des apostrophes dans R ?
-
09-12-2019 - |
Question
J'ai du mal à faire en sorte que R lise un fichier .txt ou .csv contenant des apostrophes.
Certaines de mes colonnes contiennent du texte descriptif, tel que « Répond aux besoins des clients » ou « Adjoint du shérif ».Mon fichier s'ouvre correctement dans Excel (c'est-à-dire que toutes les données apparaissent dans les bonnes cellules ;il y a 3 colonnes et environ 8 000 lignes, et il n'y a aucune donnée manquante).Mais lorsque je demande à R de lire le fichier, voici 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 je vais dans le fichier .txt ou .csv et supprime manuellement toutes les apostrophes, alors R lit le fichier correctement.Cependant, je préfère conserver les apostrophes si je le peux.
Je suis nouveau sur R et je serais reconnaissant pour toute aide.
La solution
Par défaut, read.table
considère les guillemets simples et doubles comme des caractères guillemets.Vous devez ajouter quote="\""
à ton read.table
appel.Ou vous pouvez simplement utiliser read.csv
, qui ne voit par défaut que les guillemets doubles comme des caractères guillemets.
Autres conseils
Une étude approfondie des options de ?read.table sera payante à long terme.Les valeurs par défaut pour les guillemets sont quote = "\"'", qui ne représente en réalité que deux caractères après que R ait analysé cette expression, guillemets simples et doubles.Vous pouvez les supprimer tous les deux en utilisant quotes=NA
.Il est parfois nécessaire de supprimer également le « comment.char » par défaut « # », et il peut être utile de remplacer « tel quel » par TRUE pour empêcher les chaînes d'être converties en facteurs.
Réglage du paramètre citation="\\" en lecture.table doit faire le tour.