Con la librería sas7bdat de Python podemos leer archivos SAS y crear directamente un data frame, es la mejor librería para hacerlo, si la tabla SAS que deseáis leer está comprimida (compress=yes) con pandas no podréis hacerlo. Pero tengo que agradecer a mi compañero Juan que me haya descubierto la función convert_file para pasar directamente el archivo SAS a csv, es más eficiente y parece que consume menos recursos del equipo. La sintaxis es muy sencilla:
import pandas as pd from sas7bdat import SAS7BDAT start_time = time.time() path_file_sas = '/ubicacion/archivo/sas/tabla_SAS.sas7bdat' path_file_csv = 'ubicacion/archivo/csv/archivo_CSV.csv' f = SAS7BDAT(path_file_sas) f.convert_file(path_file_csv, delimiter=',', step_size=10000) end_time = time.time() (end_time - start_time) / 60
La función convert_file realiza el proceso paso a paso, trozo a trozo, chunk to chunk. Si la tarea la realizas con un equipo esto te permite poder seguir usándolo. Me ha parecido un truco útil para poder importar tablas SAS a Python creando primero un csv, podéis agradecer a Juan.