Crear Pandas DataFrame a partir de una cadena

Resuelto Emil L asked hace 10 años • 7 respuestas

Para probar alguna funcionalidad, me gustaría crear un archivo DataFramea partir de una cadena. Digamos que mis datos de prueba se ven así:

TESTDATA="""col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
"""

¿ Cuál es la forma más sencilla de leer esos datos en un Pandas DataFrame?

Emil L avatar Mar 24 '14 15:03 Emil L
Aceptado

Una forma sencilla de hacer esto es usar StringIO.StringIO(python2) o io.StringIO(python3) y pasarlo a la pandas.read_csvfunción. P.ej:

import sys
if sys.version_info[0] < 3: 
    from StringIO import StringIO
else:
    from io import StringIO

import pandas as pd

TESTDATA = StringIO("""col1;col2;col3
    1;4.4;99
    2;4.5;200
    3;4.7;65
    4;3.2;140
    """)

df = pd.read_csv(TESTDATA, sep=";")
Emil L avatar Mar 24 '2014 09:03 Emil L

En una línea, pero primero importario

import pandas as pd
import io   

TESTDATA="""col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
"""

df = pd.read_csv(io.StringIO(TESTDATA), sep=";")
print(df)
user3810512 avatar Nov 26 '2020 09:11 user3810512