Archivos y datos
Como bioquímico, en la mayoría de ocasiones necesitará trabajar con archivos y datos en Python. Por ese motivo, en este apartado aprenderá conceptos básicos relacionados con la lectura y manipulación de archivos, y la importación/exportación de datos.
Trabajar con un archivo
Lectura
Para poder aprender a trabajar con un archivo de texto (.txt), necesitará crear uno utilizando el editor de texto que desee o el propio IDE. Es fundamental que almacene este archivo en el mismo directorio donde esté trabajando.
A continuación le proponemos un ejemplo, en este caso un archivo que contiene el número pi (10 decimales por línea).
Una vez creado el archivo, veamos cómo abrirlo e imprimir el contenido en la pantalla en un archivo .py.leer_pi.py | |
---|---|
- Función open(). Le indica a Python qué archivo deseamos abrir, buscándolo en el mismo directorio que leer_pi.py.
- File_object. La función open () devuelve un objeto, que lo asignaremos a esta variable.
- Función read(). Lee todo el contenido del archivo y lo guarda como una cadena denominada contenido. Una vez creada la cadena, la imprimimos por pantalla.
Eliminar línea en blanco
Se habrá dado cuenta que al final de la salida se muestra una línea en blanco que no estaba en el archivo original. Si la quiere eliminar, utilice rstrip() al utilizar la función print().
Aunque existe probabilidad de que su archivo .txt se encuentre en el mismo directorio de trabajo, normalmente estará en otro diferente. Para que Python pueda abrir y leer archivos de un directorio distinto, debe incluir la ruta de archivo.
leer_pi.py | |
---|---|
leer_pi.py | |
---|---|
Ruta de archivo
En la ruta de archivo, habrá observado que se utilizan barras dobles (\\) en lugar de una barra simple (\) como de costumbre. La barra simple se utiliza en Python para introducir algun caracter especial, como \n para un salto de línea. Por este motivo se deben utilizar dobles en la ruta de archivo.
Si lo desea, para evitar esto puede utilizar barras hacia delante (/) para indicar la ruta.
Línea a línea
Si desea examinar cada línea al leer un archivo, puede incluir un bucle for en el objeto del archivo.
leer_pi.py | |
---|---|
Acciones
Crear una lista
Podemos guardar todas las líneas que componen un archivo en una lista, para poder trabajar con esta como hemos visto a lo largo del tutorial. A continuación se muestra cómo crear esta lista e imprimirla.
lista_pi.py | |
---|---|
Crear una cadena
Imagine que está trabajando con un archivo FASTA y desea crear una cadena con todos los caracteres, ya sean nucleótidos o aminoácidos, para poder trabajar con esta cadena de forma sencilla.
cadena_pi.py | |
---|---|
Escribir
Si desea escribir texto en un archivo .txt vacío, debe indicárselo a Python en la función open().
escribir_archivo.py | |
---|---|
"w"
Podemos abrir el archivo en modo escritura "w", lectura "r" (por defecto), anexo "a" y lectura-escritura "r+".
Importar/Exportar datos
Python soporta una gran variedad de archivos de datos, aunque a continuación se enseñará a importar los tipos de archivos de datos más empleados: .txt, con los que se ha enseñado previamente a trabajar; y .csv. Las siglas CSV vienen del inglés "Comma Separated Values", siendo valores separados por comas.
NumPy
Una de las librerías disponibles para el manejo de datos es NumPy. NumPy es una librería de Python especializada en el cálculo numérico y el análisis de datos, principalmente en la operación con funciones matemáticas.
- Para importar un archivo .txt:
En el siguiente enlace puede encontrar más funciones que le serán útiles.
- Para importar un archivo .csv:
Pandas
La librería Pandas ayuda a llevar a cabo todo el trabajo de análisis de datos en Python de una forma fluida y rápida. En este caso los datos importados se almacenan en un dataframe, que no es más que un conjunto de observaciones y variables (muy empleado en lenguajes como R).
Para importar un archivo .csv:
En la exportación de datos se trabaja de forma muy similar a la importación. Para exportar los datos a un archivo .csv le recomendamos emplear Pandas, ya que resulta realmente fácil y rápido:
Otros archivos
De forma similar a como se trabaja con archivos .csv., con Pandas puede trabajar con archivos de diferentes extensiones. A continuación se muestran algunas funciones que le pueden resultar de utilidad.
FORMATO | IMPORTAR | EXPORTAR |
---|---|---|
csv |
pd.read_csv() | df.to_csv() |
json |
pd.read_json() | df.to_json() |
excel |
pd.read_excel() | df.to_excel() |
sql |
pd.read_sql() | df.to_sql() |
Por último, hacer mención a los pickles en Python. El módulo pickle permite serializar y deserializar una estructura de objetos; en otras palabras, transformarla en una cadena de bytes que puede ser empaquetada en un archivo, y desempaquetada después para trabajar con su contenido.
Los archivos pickles en Python se pueden utilizar para una gran cantidad de propósitos, destacando la creación de copias de seguridad, y para utilizarlos debemos importar el módulo Pickle.