Emil H Emil H - 6 months ago 95
Python Question

How to create a Pandas DataFrame from String

In order to test some functionality I would like to create a

DataFrame
from a string. Let's say my testdata looks like:

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


What is the simplest way to read that data into a Pandas
DataFrame
?

Answer

Simple way to do this was to use StringIO and pass that to the pandas.read_csv function. E.g:

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=";")