我有一个熊猫数据框,如下所示。
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' )
这是数据帧的样子
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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)