Python - extraer datos de múltiples archivos de Excel

 
Vista:
Imágen de perfil de Javi
Val: 2
Ha disminuido su posición en 7 puestos en Python (en relación al último mes)
Gráfica de Python

extraer datos de múltiples archivos de Excel

Publicado por Javi (1 intervención) el 17/09/2020 12:47:55
buenas !!!
Estoy desarrollando un código en el que tengo problemas para generar un bucle...
Dadas unas variables que tengo en una lista (variables), quiero que "busque y extraiga " dichas variables de cada uno de los ficheros que tengo en path (donde tengo muchos archivos excel, con muchas variables, además de las que quiero) y se cree un dataframe para luego operar con él, sólo sobre las variables seleccionadas, etiquetadas además con el nombre de cada fichero.
Os paso el código hasta donde he llegado... (ya que sé que no es mucho, pues estoy empezando en este tema...)

1
2
3
4
5
6
7
8
9
10
11
12
13
# Open files (.xlsx)
path= "xxxxx"
allarchivos = os.listdir(path)
 
# Load variables to data processing
variables = ["temp", "hum", "day"]
 
# Read variables and find in archivos
li = []
for element in archivos:
    print(element)
    df = pd.read_excel (os.path.join(path, element))
    df1 = df[variables]

se agradece la ayuda!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

extraer datos de múltiples archivos de Excel

Publicado por joel (901 intervenciones) el 17/09/2020 13:47:59
Hola Javi, haber si te sirve...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import pandas as pd
import os
import glob
 
# Open files (.xlsx)
path= "./"
allarchivos = glob.glob(os.path.join(path, "*.xlsx"))
 
# Load variables to data processing
variables = ["temp", "hum", "day"]
 
# Read variables and find in archivos
li = []
for element in allarchivos:
    df = pd.read_excel (os.path.join(path, element))
    find = df.isin(variables)
    finded = find.any()
    print(element, len(list(finded[finded==True]))!=0)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar