from langchain_experimental.sql import SQLDatabaseChain
from langchain_community.utilities.sql_database import SQLDatabase
from langchain_community.llms import Ollama
llm = Ollama(model="llama3:latest", temperature=0)
db = SQLDatabase.from_uri(r"sqlite:///D:\flask\shuju.db")
db_chain = SQLDatabaseChain.from_llm(llm, db, verbose=True)
db_chain.run("how many rows in test_table4?")
# print(db_chain.input_schema.schema())
#生成的sql有语法错误
#csv转sqlite
import sqlite3
import csv
# 创建数据库连接
conn = sqlite3.connect(r'D:\shuju.db')
# 创建游标对象
cursor = conn.cursor()
# 创建表格的SQL语句
create_table_sql = '''
CREATE TABLE test_table4 (
日期时间 ,
工况 ,
油嘴 ,
累计气量
);
'''
# 执行创建表格的SQL语句
cursor.execute(create_table_sql)
# 读取CSV文件
with open(r'D:\111.csv', 'r') as file:
# 创建CSV读取器
reader = csv.reader(file)
# 跳过标题行
next(reader)
# 插入数据到表格中
for row in reader:
cursor.execute("INSERT INTO test_table4 (日期时间, 瞬时产气量, 累计气量) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", row)
# 提交事务
conn.commit()
# 关闭游标和连接
cursor.close()
conn.close()