python-3.x - 在 python 的 sqlite 查询中使用 pandas
问题描述
我犯了错误。之后我使用了熊猫
j=("SELECT sth FROM table WHERE rowid = ? ", (index,))
df1 = pd.read_sql_query(j, conn)
索引是一个数字所以我有一个错误
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1401, in execute
cur.execute(*args)
ValueError: operation parameter must be str
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "dialog.py", line 142, in Ayat
df1 = pd.read_sql_query(j, conn)
File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 331, in read_sql_query
parse_dates=parse_dates, chunksize=chunksize)
File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1436, in read_query
cursor = self.execute(*args)
File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1413, in execute
raise_with_traceback(ex)
File "/usr/lib/python3/dist-packages/pandas/compat/__init__.py", line 340, in raise_with_traceback
raise exc.with_traceback(traceback)
File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1401, in execute
cur.execute(*args)
pandas.io.sql.DatabaseError: Execution failed on sql '<sqlite3.Cursor object at 0x7f6338146730>': operation parameter must be str
如果我不使用 pandas 就可以并且正常运行
解决方案
这不是将 pandas 与 sqlite 一起使用的方式。正确的是:
import pandas as pd
import sqlite3
conn = sqlite3.connect('File.db')
m = 1
query = "SELECT * FROM Table WHERE priority = {0};".format(m)
df = pd.read_sql_query(query, conn)
for * in df['*']:
print('{}'.format(*))
无论如何感谢 owen79 的帮助
推荐阅读
- excel - 创建 Shell32.dll 对象时出现 VBA 运行时错误 429
- c++ - MFC 对话框控件的“接受文件”选项如何工作?
- python - 将键值参数存储到函数的变量
- groovy - 扩展 NavigatorFactory 以记录 click()、sendKeys() 等操作
- elasticsearch - 查询不返回相关文件
- python - 如何在pywin32中使用IConverterSession
- c# - xamarin 在 UWP 中形成初始化错误
- python - 使用 subprocess.check_output 时我的字符串会发生变化吗?
- pandas - Pandas 使用 numpy.where 根据另一个字段中的值设置一个字段的值
- javascript - 仅获取对象的非原型属性