gpt4 book ai didi

python - 在将SQL与数据框一起使用时,OperationalError : (sqlite3. OperationalError)SQL变量过多

转载 作者:行者123 更新时间:2023-12-03 17:34:01 28 4
gpt4 key购买 nike

我有一个 Pandas 数据框,如下所示。

       activity         User_Id  \
0 VIEWED MOVIE 158d292ec18a49
1 VIEWED MOVIE 158d292ec18a49
2 VIEWED MOVIE 158d292ec18a49
3 VIEWED MOVIE 158d292ec18a49
4 VIEWED MOVIE 158e00978d7a6c

Media_Title Media_Type User_Rating
0 20th Asian Athletics Championship-2013 Held At... NA
1 Tu Majha Saangaati NA
2 Home Cooking NA
3 Mix Dil Se NA
4 Value, Virtues, Ethics & Morality NA

我正在尝试使用pandasql的sqldf软件包编写一个SQL查询,如下所示。
distinct_activity_user = pandasql.sqldf(" select User_Id from pmm_activity", locals())

我得到的错误是:
OperationalError: (sqlite3.OperationalError) too many SQL variables [SQL: 'INSERT INTO pmm_activity (activity, "User_Id", "Media_Title", "Media_Type", "User_Rating") VALUES

最佳答案

可能是与您的列名中的空格有关的问题。当我尝试使用您提供的数据时,我遇到了这种情况。我有一个使用sqlite3的示例。这是一个示例,可能会解决您的问题:

import sqlite3 as sql
import pandas as pd

file = "..../movie.csv"
df = pd.read_csv(file, sep=";", dtype='unicode' )
这是数据框的样子
enter image description here
conn = sql.connect('movie2.db')
df.to_sql('movie', conn)
conn = sql.connect('movie2.db')
Movie = pd.read_sql('SELECT distinct "User_Id " FROM movie', conn)
enter image description here

关于python - 在将SQL与数据框一起使用时,OperationalError : (sqlite3. OperationalError)SQL变量过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50506563/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com