提问者:小点点

从字符串创建Pandas DataFrame


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

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

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


共3个答案

匿名用户

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

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

匿名用户

拆分法

data = input_string
df = pd.DataFrame([x.split(';') for x in data.split('\n')])
print(df)

匿名用户

在一行中,但首先导入IO

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)