sqlite - 带有sqlite to_sql的sqlalchemy不创建表或数据库
问题描述
我是 sqlalchemy 的新手。当我运行此代码时,没有数据库。我希望它创建数据库,添加定义的表和数据。阅读 to_sql 的文档,如果该代码不存在(它不存在),则该代码应该创建该表,当我运行它时,它会抛出一个错误,即该表没有列 num 1 ??? AND 不创建数据库。请问我做错了什么?
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 )
解决方案
推荐阅读
- arrays - 这个使用递归反转数组的函数有什么问题?(包括代码和结果)
- java - 第一次尝试连接时无法打开 JPA EntityManager
- angular - angular 10 - webviews 的替代品
- azure - 在 azure devops 中使用魅力报告
- xml - Go XML chardata prints empty line
- node.js - AWS Lambda SQS 函数中 JSON 输入错误的意外结束
- android - ML Kit Vision API 文本识别 - 如何检查瘦模型是否已下载
- kotlin - 如何从 kotlin 中的泛型中获取“this”
- azure-logic-apps - 有没有办法在逻辑App的运行历史中隐藏数据或加密?
- python - 在 tkinter 中调整笔记本选项卡的大小