如何在 Pandas read_sql() 中使用通配符 (%) [英] How to Use a Wildcard (%) in Pandas read_sql()

查看:111
本文介绍了如何在 Pandas read_sql() 中使用通配符 (%)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试运行一个包含文本通配符的 MySQL 查询,如下所示:

I am trying to run a MySQL query that has a text wildcard in as demonstrated below:

import sqlalchemy
import pandas as pd

#connect to mysql database
engine = sqlalchemy.create_engine('mysql://user:@localhost/db?charset=utf8')
conn = engine.connect()

#read sql into pandas dataframe
mysql_statement = """SELECT * FROM table WHERE field LIKE '%part%'; """
df = pd.read_sql(mysql_statement, con=conn)

运行时出现如下与格式相关的错误.

When run I get the error as shown below related to formatting.

TypeError: 没有足够的格式字符串参数

TypeError: not enough arguments for format string

使用 Pandas 读取 MySQL 时如何使用通配符?

How can I use a wild card when reading MySQL with Pandas?

推荐答案

from sqlalchemy import create_engine, text
import pandas as pd

mysql_statement = """SELECT * FROM table WHERE field LIKE '%part%'; """
df = pd.read_sql( text(mysql_statement), con=conn)

您可以使用 sqlalchemy 中的 text() 函数

You can use text() function from sqlalchemy

这篇关于如何在 Pandas read_sql() 中使用通配符 (%)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆