我想将一些数据从数据帧存储到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等。

如何保留原始数据框的列?

谢谢

最佳答案

试试这个:

df2 = pd.read_sql("SELECT * FROM table_name", conn)


一些颜色:

您的表很好,它有列,您可以使用cur.fetchall()获取值的元组列表,它没有列名的任何信息,所以熊猫只使用数字。

read_sql()检查列名并为您完成

关于pandas - 如何使用to_sql保留 Pandas 数据框列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47311385/

10-11 03:32
查看更多