[pyar] leer csv con pandas

Javier Marcon javiermarcon en gmail.com
Mar Nov 8 23:24:55 ART 2016


El 08/11/16 a las 21:53, Ariel Rossanigo escribió:
> Buenas, creo que el problema viene por el espacio luego del separador,
> podés evitarlo así:
>
> pd.read_csv('prueba.csv', quotechar="'", skipinitialspace=True)
>
> Saludos
> ...
Muchas gracias Santiago y Ariel. El skipinitialspace no me funcionó (ya
lo había probado antes de mandar el mail a la lista). La solución fué lo
que me dijo Santiago:

In [44]:

def sacocomillas(texto):

    return unicode(texto).strip().replace("'", "")

 

def afloat(texto):

    texto = sacocomillas(texto)

    try:

        return float(texto)

    except:

        return texto

 

encabezados = ['date', 'cpu', 'ram', 'wait', 'si', 'so', 'conexiones', 'locks', 'ratio', 'writeclean', 'buffers']

conv = {'cpu': afloat, 'ram': afloat, 'wait': afloat, 'si': afloat, 'so': afloat, 'conexiones': afloat, 

        'locks': afloat, 'writeclean': afloat, 'buffers': afloat, 'ratio': afloat}

datos = pd.read_csv("/var/log/datos.log", sep=', ', quotechar="'", 

                    converters= conv, names=encabezados, skiprows=1, parse_dates=['date'])

datos.head()

Out[44]:

	date 	cpu 	ram 	wait 	si 	so 	conexiones 	locks 	ratio 	writeclean
buffers
0 	2016-10-17 21:10:01 	0.9 	16 	2000040 	0 	0 	22 	6916 	3301.027439 	0
	12953
1 	2016-10-17 21:20:01 	0.9 	16 	2000040 	0 	0 	22 	6916 	3301.043030 	0
	12953
2 	2016-10-17 21:30:02 	0.9 	16 	2000040 	0 	0 	22 	6916 	3301.058361 	0
	12954
3 	2016-10-17 21:40:01 	0.9 	16 	2000040 	0 	0 	22 	6916 	3301.073922 	0
	12954
4 	2016-10-17 21:50:01 	0.8 	16 	2000040 	0 	0 	22 	6916 	3301.089389 	0
	12954

5 rows × 11 columns



Gracias,

Javier.

-- 
El matrimo es tan bueno que la gente se muere por casarse
con mujeres como Nazarena Velez, Margerie Orbin, 
Jordania Linn Graham, Katherine Knight, Stacey Castor, etc.



Más información sobre la lista de distribución pyar