Escribir un array en un archivo de texto en Python

Isaac Tony 21 diciembre 2022
  1. Escriba un array en un archivo de texto usando las funciones open() y close() en Python
  2. Escriba un array en un archivo de texto usando Content Manager en Python
Escribir un array en un archivo de texto en Python

Leer y escribir archivos es un aspecto importante de la creación de programas utilizados por muchos usuarios. Python ofrece una variedad de métodos que se pueden usar para el manejo de recursos. Estos métodos pueden ser ligeramente diferentes según el formato del archivo y la operación que se esté realizando.

Además de la forma tradicional de crear archivos haciendo clic en los botones, también podemos crear archivos usando funciones integradas como la función open(). Tenga en cuenta que la función open() solo creará un archivo si no existe; de lo contrario, se usa intrínsecamente para abrir archivos.

Escriba un array en un archivo de texto usando las funciones open() y close() en Python

Dado que la función open() no se usa en aislamiento, combinándola con otras funciones, podemos realizar aún más operaciones con archivos, como escribir y modificar o sobrescribir archivos. Estas funciones incluyen write() y close() funciones. Usando estas funciones, crearemos un array usando NumPy y la escribiremos en un archivo de texto usando la función de escritura como se muestra en el programa a continuación.

import numpy as np

sample_list = [23, 22, 24, 25]
new_array = np.array(sample_list)

# Displaying the array

file = open("sample.txt", "w+")

# Saving the array in a text file
content = str(new_array)
file.write(content)
file.close()

# Displaying the contents of the text file
file = open("sample.txt", "r")
content = file.read()

print("Array contents in sample.txt: ", content)
file.close()

Producción :

Array contents in text_sample.txt:  [23 22 24 25]

Hemos creado un archivo de texto llamado sample.txt usando la función abrir en modo escritura en el ejemplo anterior. Luego hemos procedido a convertir la matriz en formato de cadena antes de escribir su contenido en el archivo de texto usando la función de escritura. Utilizando las funciones open(), abrimos el contenido del archivo de texto en modo lectura. El contenido del archivo de texto se muestra en el terminal y también se puede ver abriendo físicamente el archivo de texto.

De manera similar, también podemos crear un array multidimensional y guardarla en un archivo de texto, como se muestra a continuación.

import numpy as np

sample_list = [[23, 22, 24, 25], [13, 14, 15, 19]]
new_array = np.array(sample_list)

# Displaying the array

file = open("sample.txt", "w+")

# Saving the array in a text file
content = str(new_array)
file.write(content)
file.close()

# Displaying the contents of the text file
file = open("sample.txt", "r")
content = file.read()

print("Array contents in sample.txt: ", content)
file.close()

Producción :

Array contents in sample.txt:  [[23 22 24 25]
[13 14 15 19]]

Escriba un array en un archivo de texto usando Content Manager en Python

Alternativamente, podemos usar el administrador de contexto para escribir un array en un archivo de texto. A diferencia de la función open(), donde tenemos que cerrar los archivos una vez que los hemos abierto usando la función close(), el administrador de contenido nos permite abrir y cerrar archivos precisamente cuando los necesitamos. En Python, usar el administrador de contexto se considera una mejor práctica cuando se administran recursos en lugar de usar las funciones open() y close(). El administrador de contexto se puede implementar utilizando la palabra clave with que se muestra a continuación.

import numpy as np

new_list = [23, 25, 27, 29, 30]
new_array = np.array(new_list)
print(new_array)

with open("sample.txt", "w+") as f:
    data = f.read()
    f.write(str(new_array))

Producción :

[23 25 27 29 30]

En el ejemplo anterior, el administrador de contexto abre el archivo de texto sample.txt, y dado que el archivo no existe, el administrador de contexto lo crea. Dentro del alcance del administrador de contexto, hemos escrito la matriz en el archivo de texto al convertirlo en una cadena. Una vez que optamos por la sangría, el administrador de contexto cierra el archivo automáticamente. De manera similar, como se muestra a continuación, también podemos escribir matrices multidimensionales en un archivo de texto usando el administrador de contexto.

import numpy as np

new_list = [[23, 25, 27, 29], [30, 31, 32, 34]]
new_array = np.array(new_list)
print(new_array)

with open("sample.txt", "w+") as f:
    data = f.read()
    f.write(str(new_array))

Producción :

[[23 25 27 29]
[30 31 32 34]]

NumPy es una biblioteca científica que ofrece una variedad de funciones para trabajar con matrices. Podemos guardar un array en un archivo de texto usando la función numpy.savetxt(). La función acepta varios parámetros, incluido el nombre del archivo, el formato, el formato de codificación, los delimitadores que separan las columnas, el encabezado, el pie de página y los comentarios que acompañan al archivo.

Además de esto, la función NumPy también ofrece la función numpy.loadtxt() para cargar un archivo de texto.

Podemos guardar un array en un archivo de texto y cargarla usando estas dos funciones, como se muestra en el código a continuación.

import numpy as np

new_list = [23, 24, 25, 26, 28]
new_array = np.array(new_list)
print(new_array)

np.savetxt("sample.txt", new_array, delimiter=", ")

content = np.loadtxt("sample.txt")
print(content)

Producción :

[23 24 25 26 28]

Como se muestra a continuación, también podemos usar estas funciones para guardar matrices multidimensionales en un archivo de texto.

import numpy as np

new_list = [[23, 24, 25, 26, 28], [34, 45, 46, 49, 48]]
new_array = np.array(new_list)
print(new_array)

np.savetxt("sample7.txt", new_array, delimiter=", ")

content = np.loadtxt("sample7.txt")
print(content)

Producción :

[[23 24 25 26 28]
 [34 45 46 49 48]]
Autor: Isaac Tony
Isaac Tony avatar Isaac Tony avatar

Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.

LinkedIn

Artículo relacionado - Python Array