Recorrer el directorio y crear el dataframe.

Estoy tratando de crear un dataframe y luego recorrer un directorio lleno de archivos csv y agregarlos al dataframe. Estoy tratando de usar el siguiente código:

df = [] for dirName, subdirList, fileList in os.walk(rootDir): for fname in fileList: df = pd.read_csv(fname) 

Desafortunadamente, recibo un error que indica que “el archivo CIN_2017 no existe” (sí existe). ¿Alguna idea de cómo agregar todos estos archivos csv en un dataframe? Hay un .DS_Store ahí, pero todo lo demás es solo un csv. Gracias.

Puede probar otra solución con glob para los nombres de los archivos de retorno, luego list of DataFrames bucle en la lista de comprensión y cree una list of DataFrames . Últimos concítenlos a una gran df:

 import glob files = glob.glob('files/*.csv') df = pd.concat([pd.read_csv(fp) for fp in files], ignore_index=True) 

Es lo mismo que

 import glob files = glob.glob('files/*.csv') dfs = [] for fp in files: dfs.append(pd.read_csv(fp)) df = pd.concat(dfs, ignore_index=True) 
 import os import pandas as pd un_process_file = [] master_frame = pd.DataFrame(columns=['item_sku', 'external_product_id', 'standard_price', 'quantity']) for root, dirs, files in os.walk(os.getcwd()): for file_path in files: if file_path.endswith('.csv'): try: print file_path file_name = os.path.join(root, file_path) file_frames = pd.read_csv(file_name, skiprows=2, usecols=['item_sku', 'external_product_id', 'standard_price', 'quantity']) master_frame = master_frame.append(file_frames) except: un_process_file.append(file_path) master_frame = master_frame.rename( columns={'item_sku': 'sku', 'external_product_id': 'asin', 'standard_price': 'price'}) master_frame = master_frame.drop_duplicates(subset='asin') master_frame.to_csv('masterfile.txt', sep='\t') if un_process_file: print '\nUnable To Process these files\n' for files in un_process_file: print files 

Tengo un problema similar. Hice esta solución. Modifique el nombre de las columns acuerdo a sus necesidades.