English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Fichiers CSV R

R, en tant qu'outil professionnel de statistiques, si l'importation et l'exportation de données ne peuvent être effectuées que manuellement, cela rendrait ses fonctions sans signification, donc R prend en charge le téléchargement en lots de données à partir des formats de fichiers de stockage de tableaux populaires (par exemple CSV, Excel, XML, etc.).

Interactions de tableaux CSV

CSV (Virgule-Les valeurs séparées, CSV, appelées parfois valeurs séparées par des caractères, car les caractères de séparation peuvent ne pas être des virgules), sont un format de fichier de stockage de tableaux très populaire, ce format est adapté pour stocker des données de taille moyenne ou petite.

Comme la plupart des logiciels supportent ce format de fichier, il est souvent utilisé pour le stockage et l'échange de données.

CSV est essentiellement un texte, son format de fichier est extrêmement simple : les données sont enregistrées ligne par ligne sous forme de texte, chaque enregistrement est séparé par des délimiteurs en fonction des champs, et chaque enregistrement a une séquence de champs identique.

Voici un fichier sites.csv simple (stocké dans le même répertoire que le programme de test) :

id,name,url,likes
1,Google,www.google.com,111
2,w3codebox,fr.oldtoolbag.com,222
3,Taobao,www.taobao.com,333

Le CSV utilise des virgules pour séparer les colonnes, si les données contiennent des virgules, il faut utiliser des guillemets doubles pour encadrer tout le bloc de données.

Attention :Les textes contenant des caractères non anglais doivent prendre en compte le codage, car de nombreux ordinateurs utilisent couramment UTF-8 Codage, donc j'utilise UTF-8 Sauvegarder.

Attention : Le fichier CSV doit contenir une ligne vide à la fin, sinon, un message d'avertissement sera affiché lors de l'exécution du programme.

Message d'avertissement :
In read.table(file = file, header = header, sep = sep, quote = quote,  :
  ligne finale incomplète trouvée par readTableHeader dans 'sites.csv'

Lecture de fichier CSV

Ensuite, nous pouvons utiliser la fonction read.csv() pour lire les données du fichier CSV :

data <- read.csv("sites.csv", encoding="UTF-8)
print(data)

Si vous ne définissez pas l'attribut encoding, la fonction read.csv() utilisera par défaut le codage de caractères par défaut du système d'exploitation pour lire, si vous utilisez un système d'exploitation Windows en chinois et que vous n'avez pas défini le codage de caractères par défaut du système, le codage de caractères par défaut du système devrait être GBK. Par conséquent, veuillez unifier le codage de caractères le plus possible pour éviter les erreurs.

Le résultat de l'exécution du code suivant est :

  id name       url likes
1  1 Google www.google.com   111
2  2 w3codebox fr.oldtoolbag.com   222
3  3 Taobao www.taobao.com   333

La fonction read.csv() retourne un data.frame, nous pouvons traiter les données statistiques très facilement, dans l'exemple suivant, nous regardons le nombre de lignes et de colonnes :

data <- read.csv("sites.csv", encoding="UTF-8)
print(is.data.frame(data))  # vérifier si c'est un data.frame
print(ncol(data))  # nombre de colonnes
print(nrow(data))  # nombre de lignes

Le résultat de l'exécution du code suivant est :

[1] TRUE
[1] 4
[1] 3

Voici les statistiques suivantes du champ likes le plus grand pour les données :

data <- read.csv("sites.csv", encoding="UTF-8)
# likes données les plus grandes
like <- max(data$likes)
print(like)

Le résultat de l'exécution du code suivant est :

[1] 333

Nous pouvons également spécifier les conditions de recherche, similaires à la clause WHERE de SQL, pour interroger les données, et nous devons utiliser les fonctions suivantes subset()

Voici un exemple pour trouver likes égal à 222 à la données :

data <- read.csv("sites.csv", encoding="UTF-8)
# likes est 222 des données
retval <- subset(data, likes == 222)
print(retval)

Le résultat de l'exécution du code suivant est :

  id name       url likes
2  2 w3codebox fr.oldtoolbag.com   222

Attention:Les conditions égales sont indiquées par ==.

Pour utiliser plusieurs conditions, séparez-les avec le séparateur & ; voici un exemple pour trouver likes supérieur à 1 name est w3Les données de codebox :

data <- read.csv("sites.csv", encoding="UTF-8)
# likes supérieur à 1 name est w3Les données de codebox
retval <- subset(data, likes > 1 & name=="w3codebox)
print(retval)

Le résultat de l'exécution du code suivant est :

  id name       url likes
2  2 w3codebox fr.oldtoolbag.com   222

sauvegarder sous forme de fichier CSV

R peut utiliser write.csv()  La fonction enregistre les données sous forme de fichier CSV.

Continuons avec l'exemple précédent, nous allons enregistrer les données où likes est 222 Les données enregistrées dans w3Le fichier codebox.csv :

data <- read.csv("sites.csv", encoding="UTF-8)
# likes est 222 des données
retval <- subset(data, likes == 222)
# Écrire dans un nouveau fichier
write.csv(retval,"w3codebox.csv")
newdata <- read.csv("w3codebox.csv")
print(newdata)

Le résultat de l'exécution du code suivant est :

 X id name       url likes
1 2  2 w3codebox fr.oldtoolbag.com   222

X provenant du jeu de données newper, il est possible de supprimer X en utilisant le paramètre row.names = FALSE :

data <- read.csv("sites.csv", encoding="UTF-8)
# likes est 222 des données
retval <- subset(data, likes == 222)
# Écrire dans un nouveau fichier
write.csv(retval,"w3codebox.csv", row.names = FALSE)
newdata <- read.csv("w3codebox.csv")
print(newdata)

Le résultat de l'exécution du code suivant est :

  id name       url likes
1  2 w3codebox fr.oldtoolbag.com   222

Après exécution, nous pouvons voir w3Le fichier codebox.csv a été généré avec succès.