Saltar al contenido

Lea todos los archivos csv de un directorio usando Python

La guía o código que verás en este post es la resolución más rápida y efectiva que encontramos a esta inquietud o problema.

Solución:

Así es como yo lo haría:

import os

directory = os.path.join("c:\","path")
for root,dirs,files in os.walk(directory):
    for file in files:
       if file.endswith(".csv"):
           f=open(file, 'r')
           #  perform calculation
           f.close()

Creo que buscas algo como esto.

import glob

for file_name in glob.glob(directoryPath+'*.csv'):
    x = np.genfromtxt(file_name,delimiter=',')[:,2]
    # do your calculations

Editar

Si quieres conseguir todo csv archivos de una carpeta (incluidas las subcarpetas) que podría usar subprocess en lugar de glob (tenga en cuenta que este código solo funciona en sistemas Linux)

import subprocess
file_list = subprocess.check_output(['find',directoryPath,'-name','*.csv']).split('n')[:-1]

for i,file_name in enumerate(file_list):
    x = np.genfromtxt(file_name,delimiter=',')[:,2]
    # do your calculations
    # now you can use i as an index

Primero busca en la carpeta y las subcarpetas todos los nombres de archivo usando el find comando desde el shell y aplica sus cálculos después.

Usar pandas y glob como paquetes base

import glob
import pandas as pd

glued_data = pd.DataFrame()
for file_name in glob.glob(directoryPath+'*.csv'):
    x = pd.read_csv(file_name, low_memory=False)
    glued_data = pd.concat([glued_data,x],axis=0)

Recuerda que te concedemos añadir una valoración correcta si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *