[Python] SQL case when X LIKE '%T%' in Python script resulting in "TypeError: dict is not a...

Discussão em 'Python' iniciado por Stack, Julho 21, 2025.

  1. Stack

    Stack Membro Participativo

    I am attempting to run a SQL query against a Redshift DB in a Python script. The following results in an error "TypeError: dict is not a sequence" and I cannot figure out why.

    test1 = """

    WITH A AS
    (
    SELECT *,
    CASE WHEN substring(text_value, 0, 4) LIKE ' ' THEN substring(substring(text_value, 0, 4), 3) ELSE substring(text_value, 0, 4) END AS cost_center_id
    FROM job_custom_fields
    WHERE key = 'cost_center'
    )

    SELECT job_id,
    display_value,
    CASE WHEN cost_center_id LIKE '%T%' THEN SUBSTRING(cost_center_id, 1,1)
    WHEN cost_center_id LIKE '%D%' THEN SUBSTRING(cost_center_id, 1,1)
    WHEN cost_center_id LIKE '%P%' THEN SUBSTRING(cost_center_id, 1,1) ELSE cost_center_id END AS cost_center_id
    FROM A
    """

    red_engine = create_engine('postgresql+psycopg2://org_525:LZynsTS56PqPlHVhIIgUdDf1c1wuW4gD@redshift.greenhouse.io:5439/greenhouse')
    test = pd.read_sql_query(test1,red_engine)
    test


    Any assistance is much appreciated

    Continue reading...

Compartilhe esta Página