gpt4 book ai didi

python - pandas to_sql() 和 read_sql_query() 处理空字符串

转载 作者:行者123 更新时间:2023-11-29 15:50:46 26 4
gpt4 key购买 nike

我有一个带有字符串类型列的 df,单元格可能是空字符串“”(中间没有空格)。我想将 df 写入 mysql,如下所示:

df.to_sql(name, conn)

然后我想查询 df 并过滤掉带有空字符串的单元格,例如:

sql = 'select * from <tabname> where col = "" '
df = pd.read_sql_query(sql, conn)

但是,它会抛出错误:
(pymysql.err.ProgrammingError) (1064, '您的 SQL 语法有错误;请检查与您的 MariaDB 服务器版本相对应的手册,了解在\'by = ""和 ds = 20190618 附近使用的正确语法\' at第 1 行')
我尝试过使用类似:

sql = "select * from <tabname> where col = '' "
<or>
sql = 'select * from <tabname> where col = \'\'' .
<or>
sql = 'select * from <tabname> where col = {0}'.format('')

但都不起作用:
(pymysql.err.ProgrammingError) (1064, "您的 SQL 语法有错误;请检查与您的 MariaDB 服务器版本对应的手册,以了解在第 1 行的 'by = '' 和 ds = 20190618' 附近使用的正确语法”)
错误消息显示它成功解析了sql查询字符串,但mysql似乎无法识别它。

最佳答案

你可以这样处理:

sql = 'select * from <tabname> where col = \'\' '

由于您的连接似乎需要单引号文本,因此您可以转义单引号并在字符串中使用它们。

关于python - pandas to_sql() 和 read_sql_query() 处理空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56775059/

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