为了测试一些功能,我想从字符串中创建一个DataFrame
。假设我的测试数据如下:
TESTDATA="""col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
"""
将数据读入PandasDataFrame
的最简单方法是什么?
一个简单的方法是使用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)