从字符串创建 Pandas DataFrame

问题描述:

为了测试某些功能,我想从字符串创建一个 DataFrame.假设我的测试数据如下所示:

In order to test some functionality I would like to create a DataFrame from a string. Let's say my test data looks like:

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

将数据读入 Pandas DataFrame 的最简单方法是什么?

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

一个简单的方法是使用 StringIO.StringIO (python2)io.StringIO (python3) 并将其传递给 pandas.read_csv 函数.例如:

A simple way to do this is to use StringIO.StringIO (python2) or io.StringIO (python3) 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=";")