English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Como ferramenta estatística profissional, o R, se não puder importar e exportar dados manualmente, tornar-se-ia inútil, então o R suporta a obtenção em lote de dados de formatos de arquivo de armazenamento de tabelas populares (por exemplo, CSV, Excel, XML, etc.).
CSV (Comma-Valores Separados, CSV, às vezes também chamado de Valores Separados por Caracteres, pois o caractere de separação pode não ser vírgula), é um formato de arquivo de armazenamento de tabelas muito popular, adequado para armazenar dados de tamanho médio ou pequeno.
Devido ao suporte de maioria dos softwares a esse formato de arquivo, ele é frequentemente usado para armazenamento e interação de dados.
O CSV é essencialmente um texto, seu formato de arquivo é extremamente simples: os dados são salvos linha por linha em texto, cada registro é separado por delimitadores em campos, e cada registro tem a mesma sequência de campos.
A seguir está um arquivo sites.csv simples (armazenado na mesma pasta do programa de teste):
id,name,url,likes 1,Google,www.google.com,111 2,w3codebox,pt.oldtoolbag.com,222 3,Taobao,www.taobao.com,333
O CSV usa vírgula para dividir colunas, se os dados contiverem vírgula, deve-se usar aspas duplas para incluir todo o bloco de dados.
Atenção:Os textos que contêm caracteres não-ingleses precisam ser salvos com o código correto, pois muitos computadores usam o UTF-8 código, então uso UTF-8 salvo.
Atenção: O arquivo CSV precisa conter uma linha em branco no final, caso contrário, a execução do programa emitirá uma mensagem de aviso.
Aviso: Mensagem de aviso: linha final incompleta encontrada por readTableHeader no 'sites.csv'
A seguir, podemos usar a função read.csv() para ler os dados do arquivo CSV:
data <- read.csv("sites.csv", encoding="UTF-8) print(data)
Se não configurarmos o atributo encoding, a função read.csv() usará o código de caracteres padrão do sistema operacional para leitura, se você usar o sistema operacional Windows em chinês e não tiver configurado o código de caracteres padrão do sistema, o código de caracteres padrão deve ser GBK. Portanto, por favor, tente uniformizar o código de caracteres para evitar erros.
O resultado da execução do código acima é:
id name url likes 1 1 Google www.google.com 111 2 2 w3codebox pt.oldtoolbag.com 222 3 3 Taobao www.taobao.com 333
A função read.csv() retorna um data frame, podemos facilitar o processamento de dados estatísticos, neste exemplo, veremos o número de linhas e colunas:
data <- read.csv("sites.csv", encoding="UTF-8) print(is.data.frame(data)) # Verificar se é um data frame print(ncol(data)) # Número de colunas print(nrow(data)) # Número de linhas
O resultado da execução do código acima é:
[1] TRUE [1] 4 [1] 3
A seguir está a estatística da caixa de dados onde o campo likes é o maior:
data <- read.csv("sites.csv", encoding="UTF-8) # Dados com o maior número de likes like <- max(data$likes) print(like)
O resultado da execução do código acima é:
[1] 333
Também podemos especificar condições de busca, semelhante a uma cláusula WHERE do SQL, para consultar dados, e precisamos usar funções como subset()。
Aqui está um exemplo de busca por likes 222 Para os dados:
data <- read.csv("sites.csv", encoding="UTF-8) # likes é 222 dos dados retval <- subset(data, likes == 222) print(retval)
O resultado da execução do código acima é:
id name url likes 2 2 w3codebox pt.oldtoolbag.com 222
Atenção:As condições de igualdade são usadas com ==.
Para usar múltiplas condições, utilize o separador &; aqui está um exemplo de busca por likes maiores que 1 name é w3Os dados do codebox:
data <- read.csv("sites.csv", encoding="UTF-8) # likes é maior que 1 name é w3Os dados do codebox retval <- subset(data, likes > 1 & name=="w3codebox") print(retval)
O resultado da execução do código acima é:
id name url likes 2 2 w3codebox pt.oldtoolbag.com 222
O R pode ser usado write.csv() A função salva os dados em arquivo CSV.
Continuando com o exemplo acima, vamos salvar os dados com likes 222 Os dados são salvos em w3O arquivo codebox.csv:
data <- read.csv("sites.csv", encoding="UTF-8) # likes é 222 dos dados retval <- subset(data, likes == 222) # Escrever novo arquivo write.csv(retval,"w3codebox.csv") newdata <- read.csv("w3codebox.csv") print(newdata)
O resultado da execução do código acima é:
X id name url likes 1 2 2 w3codebox pt.oldtoolbag.com 222
X Do conjunto de dados newper, pode ser removido através do parâmetro row.names = FALSE:
data <- read.csv("sites.csv", encoding="UTF-8) # likes é 222 dos dados retval <- subset(data, likes == 222) # Escrever novo arquivo write.csv(retval,"w3codebox.csv", row.names = FALSE) newdata <- read.csv("w3codebox.csv") print(newdata)
O resultado da execução do código acima é:
id name url likes 1 2 w3codebox pt.oldtoolbag.com 222
Após a execução, podemos ver w3O arquivo codebox.csv foi gerado com sucesso.