web-dev-qa-db-fra.com

Récupère "nul (s) incorporé (s) trouvé (s) dans l'entrée" lors de la lecture d'un csv avec read.csv ()

Je lisais dans un fichier csv.

Le code est:

mydata = read.csv("mycsv.csv", header=True, sep=",", quote="\"")

Recevez l'avertissement suivant:

Message d'avertissement: Dans scan(file = file, what = what, sep = sep, quote = quote, dec = dec,: nul (s) intégré (s) trouvé (s) en entrée

Maintenant, certaines cellules de mon CSV ont des valeurs manquantes représentées par "".

Comment puis-je écrire ce code pour ne pas recevoir l'avertissement ci-dessus?

25
user1172468

Votre fichier CSV est peut-être codé en UTF-16. Ce n'est pas rare lorsque vous travaillez avec des outils Windows.

Vous pouvez essayer de charger un fichier CSV UTF-16 comme ceci:

read.csv("mycsv.csv", ..., fileEncoding="UTF-16LE")
34
nneonneo

Vous pouvez essayer d'utiliser l'option skipNul = TRUE.

mydata = read.csv("mycsv.csv", quote = "\"", skipNul = TRUE)

De ?read.csv

Les nuls incorporés dans le flux d'entrée mettront fin au champ en cours de lecture, avec un avertissement une fois par appel à analyser. Si vous définissez skipNul = TRUE, ils sont ignorés.

Cela a fonctionné pour moi.

27
Apex Chimps

Peut-être un fichier sans CRLF, peut-être uniquement en LF. Essayez de vérifier la sortie HEX du fichier.

Si c'est le cas. Essayez de lancer le fichier avec awk:

awk '{printf "%s\r\n", $0}' file > new_log_file
2
steinmb

J'avais le même message d'erreur et compris que, bien que mes fichiers aient une extension .csv et s'ouvraient sans problème dans un tableur, ils étaient en fait enregistrés sous le format "Tous les formats" plutôt que "Texte CSV (.csv)"

1
SCallan

Dans ces cas, assurez-vous que les données que vous importez ne comportent pas de caractère "#", mais si c'est le cas, utilisez l'option comment.char="". Cela a fonctionné pour moi.

0
Phill

Cela n'a rien à voir avec l'encodage. C'est le problème avec la lecture des NULL dans le fichier. Pour gérer cela, vous devez passer le paramètre "skipNul = TRUE".

par exemple: neg = scan ('F: /Natural_Language_Processing/negative-words.txt', what = 'character', comment.char = '', encoding = "UTF-8", skipNul = TRUE)

0
Naveen Kumar