sqlalchemy与sqlite一起使用,以避免sql不创建表或数据库
我是炼金术新手。当我运行此代码时,没有数据库。我希望它创建数据库,添加定义的表和数据。阅读to_sql的文档时,如果表不存在(它不存在),那么这段代码应该创建该表,当我运行它时,它会抛出一个错误,即该表没有列num 1???并且不创建数据库。请问我做错了什么sqlalchemy与sqlite一起使用,以避免sql不创建表或数据库,sqlite,sqlalchemy,Sqlite,Sqlalchemy,我是炼金术新手。当我运行此代码时,没有数据库。我希望它创建数据库,添加定义的表和数据。阅读to_sql的文档时,如果表不存在(它不存在),那么这段代码应该创建该表,当我运行它时,它会抛出一个错误,即该表没有列num 1???并且不创建数据库。请问我做错了什么 import pandas as pd import sqlite3 from sqlalchemy import create_engine date_stuff = [ (20171219, 13.71,28), (20171319
import pandas as pd
import sqlite3
from sqlalchemy import create_engine
date_stuff = [ (20171219, 13.71,28), (20171319, 144.71,33), (20171919, 99.99,99)]
labels = ['date', 'num 1' , 'num 2']
dev_env = "/home/test/Desktop/mtest/hvdata/"
db_name = "tinydatabase.db"
def new_sql_add ( todays_data ):
todays_data.to_sql(name='mcm_trends', con = db ,if_exists='append')
if __name__ == '__main__' :
db_path = dev_env + db_name
db = create_engine('sqlite:///db_path')
df_for_sql = pd.DataFrame.from_records( date_stuff , columns = labels)
new_sql_add ( df_for_sql )
至少您没有正确地传递db路径。您正在当前目录中打开一个名为db_path的文件,而不是使用绑定到
db_path
的字符串作为path。@IljaEverilä您是上帝!!!我花了好几个小时看这个,却完全错过了。非常感谢你帮我走出一个很深的黑洞。我不能将此标记为答案,因为SE不相信我的判断。