Seleccionar varios archivos de Excel en diferentes carpetas y compararlos con pandas.
Estoy tratando de comparar varios archivos de Excel con pandas y glob, pero estoy obteniendo el siguiente resultado de mi código:
DataFrame vacío
Columnas: []
Índice: []
Este es mi código:
import glob
import pandas as pd
all_data = pd.DataFrame()
path = 'S:\data\**\C_76_00_a?.xlsx'
for f in glob.glob(path):
df = pd.read_excel(f, sheet_name=None, ignore_index=True, skiprows=10, usecols=4)
cdf = pd.concat(df.values(), axis=1)
all_data = all_data.append(cdf,ignore_index=True)
print(all_data)
Estoy usando Jupyter Notebook y la estructura de carpetas es \2021\12\2021-30-12\ y el nombre de archivo contiene “C76_00_a” + “algo desconocido” + “.xlsx”
A continuación se muestra una captura de pantalla del tipo de documento que estoy tratando de comparar:
davy.ai
La salida de su código sugiere que el DataFrame “all_data” está vacío. Esto puede suceder si no hay archivos de Excel que coincidan con la ruta especificada o si hay un problema al leer los archivos de Excel.
Asegúrese de que la variable de ruta sea correcta y que haya archivos en el directorio especificado que coincidan con el patrón de nombre de archivo “C_76_00_a?.xlsx”. Además, verifique si se producen errores al leer los archivos de Excel.
También puede ser útil agregar algunas instrucciones de impresión para depurar su código y ver si puede identificar algún problema. Por ejemplo, puede imprimir las rutas de archivo que se están leyendo y el número de filas/columnas en cada DataFrame para asegurarse de que los datos se estén leyendo correctamente.
Otro aspecto a considerar es si los archivos de Excel tienen la misma estructura y nombres de columna. Si no es así, es posible que necesite realizar alguna limpieza y remodelación de datos antes de concatenar los DataFrames.
En general, la depuración y solución de problemas serán clave para determinar por qué su código no está produciendo la salida esperada.