Search code examples
pythonpandasstdin

Converting standard input to dataframe


I have the standard input:

'Town3, NYC, Town1, Town4, Town5, Town6, Town2
 67, 69, 60, 63, 65, 69, 95'

I wonder how can I turn this to pandas data frame such that I get:

   Town3  NYC  Town1  Town4  Town5  Town6  Town2
0     67   69     60     63     65     69     95

Solution

  • You can use io.StringIO + pd.read_csv:

    import pandas as pd
    from io import StringIO
    
    s = """Town3, NYC, Town1, Town4, Town5, Town6, Town2
     67, 69, 60, 63, 65, 69, 95"""
    
    df = pd.read_csv(
        StringIO(s),
        sep=r",\s*",
        engine="python",
    )
    
    print(df)
    

    Prints:

       Town3  NYC  Town1  Town4  Town5  Town6  Town2
    0     67   69     60     63     65     69     95