使用数据框在 sqllite 中创建表

Cag*_*nar 5 python sqlite create-table dataframe

我是 sqllite3 的新手,并试图了解如何使用现有的数据帧在 sql 环境中创建表。我已经有一个创建为“pythonsqlite.db”的数据库

#import my csv to python
import pandas as pd

my_data = pd.read_csv("my_input_file.csv")


## connect to database
import sqlite3

conn = sqlite3.connect("pythonsqlite.db")

##push the dataframe to sql 
my_data.to_sql("my_data", conn, if_exists="replace")

##create the table

conn.execute(
    """
    create table my_table as 
    select * from my_data
    """)
Run Code Online (Sandbox Code Playgroud)

但是,当我导航到 SQLlite studio 并检查数据库下的表时,我看不到我创建的表。如果有人告诉我我在这里缺少什么,我将非常感激。

小智 2

我只替换了代码的一部分,即“read_csv”,而是创建了一个小数据框(见下文),我认为问题可能出在脚本的名称上(例如:pandas.py)

import pandas as pd

# my_data = pd.read_csv("my_input_file.csv")
columns = ['a','b']
my_data = pd.DataFrame([[1, 2], [3, 4]], columns=columns)


## connect to database
import sqlite3

conn = sqlite3.connect("pythonsqlite.db")

##push the dataframe to sql 
my_data.to_sql("my_data", conn, if_exists="replace")

##create the table

conn.execute(
    """
    create table my_table as 
    select * from my_data
    """)
Run Code Online (Sandbox Code Playgroud)

我运行了它,我没有发现有问题
在此输入图像描述