En el mundo de la informática, los archivos de texto contienen datos que los humanos pueden entender fácilmente. Incluye letras, números y otros caracteres. Por otro lado, los archivos binarios contienen 1 y 0 que solo las computadoras pueden interpretar. Los humanos no pueden leer la información almacenada en un archivo binario, ya que los bytes que contiene se traducen en caracteres y símbolos que contienen otros caracteres no imprimibles.
Puede suceder algunas veces cuando los datos producidos por otros programas son esenciales para ser procesados por el lenguaje R como un archivo binario. Además, R es necesariamente responsable de crear archivos binarios que se pueden compartir con otros programas. Las cuatro operaciones más importantes que se pueden realizar en un archivo binario son:
- Crear y escribir en un archivo binario
- Lectura del archivo binario
- Agregar al archivo binario
- Eliminando el archivo binario
Crear y escribir en un archivo binario
Tanto la creación como la escritura en un archivo binario se pueden realizar con una sola función writeBin() al abrir el archivo en modo » wb «, donde w indica escritura y b indica modo binario.
Sintaxis: writeBin(objeto, con)
Parámetros:
objeto: un objeto R que se escribirá en la conexión
con: un objeto de conexión o una string de caracteres que nombra un archivo o un vector sin formato.
Ejemplo:
Python3
# R program to illustrate # working with binary file # Creating a data frame df = data.frame( "ID" = c(1, 2, 3, 4), "Name" = c("Tony", "Thor", "Loki", "Hulk"), "Age" = c(20, 34, 24, 40), "Pin" = c(756083, 756001, 751003, 110011) ) # Creating a connection object # to write the binary file using mode "wb" con = file("myfile.dat", "wb") # Write the column names of the data frame # to the connection object writeBin(colnames(df), con) # Write the records in each of the columns to the file writeBin(c(df$ID, df$Name, df$Age, df$Pin), con) # Close the connection object close(con)
Producción:
Lectura del archivo binario
La lectura del archivo binario se puede realizar mediante la función readBin() al abrir el archivo en modo “ rb ”, donde r indica lectura yb indica modo binario.
Sintaxis: readBin(con, what, n )
Parámetros:
con: un objeto de conexión o una string de caracteres que nombra un archivo o un vector sin formato
what: un objeto cuyo modo dará el modo del vector a leer o un vector de caracteres de longitud uno que describe el modo: uno de “numérico”, “doble”, “entero”, “int”, “lógico”, “complejo”, “carácter”, “sin procesar”
n: el número (máximo) de registros a ser leer
Ejemplo:
Python3
# R program to illustrate # working with binary file # Creating a connection object # to read the file in binary mode using "rb". con = file("myfile.dat", "rb") # Read the column names # n = 4 as here 4 column colname = readBin(con, character(), n = 4) # Read column values # n = 20 as here 16 values and 4 column names con = file("myfile.dat", "rb") bindata = readBin(con, integer(), n = 20) # Read the ID values # as first 1:4 byte for col name # then values of ID col is within 5 to 8 ID = bindata[5:8] # Similarly 9 to 12 byte for values of name column Name = bindata[9:12] # 13 to 16 byte for values of the age column Age = bindata[13:16] # 17 to 20 byte for values of Pincode column PinCode = bindata[17:20] # Combining all the values and make it a data frame finaldata = cbind(ID, Name, Age, PinCode) colnames(finaldata)= colname print(finaldata)
Producción:
ID Name Age Pin [1, ] 0 0 0 0 [2, ] 1072693248 1074266112 1074790400 1073741824 [3, ] 0 0 0 0 [4, ] 1073741824 1074790400 1074266112 1072693248
Agregar al archivo binario
Agregar al archivo binario se puede realizar con la misma función writeBin() al abrir el archivo en modo » ab «, donde a indica agregar y b indica modo binario.
Ejemplo:
Python3
# R program to illustrate # working with binary file # Creating another data frame # to append with the existing data frame df = data.frame( "Salary" = c(100, 200, 300, 400), "Experience" = c(3, 5, 10, 4) ) # Creating a connection object # to append the binary file using mode "ab" con = file("myfile.dat", "ab") # append the column names of the data frame # to the connection object writeBin(colnames(df), con) # append the records in each of the columns to the file writeBin(df$Salary, con) # Close the connection object close(con)
Producción:
Eliminar el archivo binario
En R, se puede eliminar el archivo binario usando el comando file.remove() y luego desvincular el archivo eliminado usando la función unlink() .
Ejemplo:
Python3
# R program to illustrate # working with binary file # Define the file name that will be deleted fileName <- "myfile.dat" # Check its existence if (file.exists(fileName)) # Delete file if it exists file.remove(fileName) # Unlink the deleted file unlink(fileName, recursive = TRUE)
Publicación traducida automáticamente
Artículo escrito por AmiyaRanjanRout y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA