【问题标题】:Using SQL Cases with Pandas pd.read_sql?在 Pandas pd.read_sql 中使用 SQL 案例?
【发布时间】:2020-01-23 18:08:56
【问题描述】:

我正在使用 pandas pd.real_sql(SQL Query, con) 从数据库中读取数据。当我使用像 SELECT * FROM COLUMN WHERE ROW IS NOT NULL 这样的基本查询时,我得到一个正常的结果。但是,我不知道如何用例。当我尝试使用案例时,我总是会收到一个错误...在“CASE”附近:语法错误

SELECT * CASE WHEN Column IS NULL THEN False ELSE True END AS TrueFalse FROM Sheet",con 任何人都知道如何在 pandas 中使用 sql 案例

【问题讨论】:

  • SQL 看起来像 T-SQL(又名 MS SQL Server)。 T-SQL 中没有真假。您可以返回 1 或 0,然后将它们转换为 Python 中的布尔值。

标签: python sql pandas dataframe


【解决方案1】:
import psycopg2 as pg
import pandas.io.sql as psql
import pandas as pd

Q1 = '''
select col1, col2,
case when col1 is null THEN '1' ELSE '0' END AS col3
from table1
'''

connection = pg.connect("host='ABC' dbname=ABC user=ABC 
password='ABC'")

df = pd.read_sql_query(Q1, con=connection)

*用你的数据库主机名、数据库名、用户名和密码替换ABC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 2021-12-25
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多