[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