У меня есть большой CSV-файл с почти 100 столбцами с различными типами данных, которые я хотел бы загрузить в базу данных sqlite с помощью sqlalchemy.Это будет происходить постоянно, и я буду периодически загружать новые данные в виде новой таблицы в базу данных.Кажется, это должно быть тривиально, но я не могу заставить что-либо работать.
Все решения, которые я рассмотрел до сих пор, явно определяли столбцы при создании таблиц.
Вотминимальный пример (с гораздо меньшим количеством столбцов) того, что у меня есть на данный момент.
from sqlalchemy import *
import pandas as pd
values_list = []
url = r"https://raw.githubusercontent.com/amanthedorkknight/fifa18-all-player-statistics/master/2019/data.csv"
df = pd.read_csv(url,sep=",")
df = df.to_dict()
metadata = MetaData()
engine = create_engine("sqlite:///" + r"C:\Users\...\example.db")
connection = engine.connect()
# I would like define just the primary key column and the others be automatically loaded...
t1 = Table('t1', metadata, Column('ID',Integer,primary_key=True))
metadata.create_all(engine)
stmt = insert(t1).values()
values_list.append(df)
results = connection.execute(stmt, values_list)
values_list = []
connection.close()