我无法找到关于此主题的好教程。我有一个pandas数据框,df为
Fu(varchar) val
aed 544.8
jfn 5488
vivj 89.3
vffv 87.5
我想创建一个数据库和一个表并将数据帧存储在其中
答案 0 :(得分:3)
演示:
In [6]: import sqlite3
In [7]: conn = sqlite3.connect('d:/temp/test.sqlite')
In [8]: df.to_sql('tab', conn, if_exists='replace', index=False)
In [9]: pd.read_sql('select * from tab', conn)
Out[9]:
Fu val
0 aed 544.8
1 jfn 5488.0
2 vivj 89.3
3 vffv 87.5
答案 1 :(得分:1)
首先创建与SQL数据库的连接:
>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite:///:memory:', echo=False)
制作你的df:
>>> df = pd.DataFrame(index=['aed', 'jfn', 'vivj', 'vfv'],
data={'val':[544.8, 5488, 89.3, 87.5]})
然后在SQL DB上创建新表:
>>> df.to_sql('test', con=engine)
>>> engine.execute('SELECT * FROM test').fetchall()
[('aed', 544.8), ('jfn', 5488.0), ('vivj', 89.3), ('vfv', 87.5)]