我想将数据帧中的一些数据存储到sqlite数据库中。我正在做以下事情:
首先创建一个数据库:
conn = sqlite3.connect("mydatabase.db")
然后将数据框df
中的表添加到数据库:
df.to_sql(table_name, conn,if_exists='append')
然后从数据库中查询表:
cur = conn.cursor()
cur.execute("SELECT * FROM table_name")
rows = cur.fetchall()
df2=pd.DataFrame(rows)
df2
没有原始的通用名称,但已重新索引为0,1,2,3等。
如何保留原始数据框的列?
谢谢
答案 0 :(得分:2)
试试这个:
df2 = pd.read_sql("SELECT * FROM table_name", conn)
某种颜色:
你的表很好,它有列,你使用cur.fetchall()获取值的元组列表,它没有列名的任何信息,所以pandas只使用数字。
read_sql()
检查列名称并为您执行