Cesar
Cesar

Reputation: 617

Add ' ' to SQL query parameter in Python

How can I convert the account value into a string that my SQL query accepts.

import pandas as pd
import os
from xlwings import Workbook, Range
from sqlalchemy import create_engine

account = Range('G2').options(numbers=int).value #account number #value is 3001001000

sql = 'SELECT top 30 oraclenum,pcat,ConLenses, sum(dollars) as dollars FROM ' \
          'ConData WHERE oraclenum = {} group by oraclenum,pcat, ConLenses'.format(account)

How can I include the value between ' '. Kinda like WHERE oraclenum = '3001001000' in my SQL query. It throws an error if its not formatted as a string.

Upvotes: 0

Views: 74

Answers (1)

Jean-François Fabre
Jean-François Fabre

Reputation: 140287

You could put escaped quotes around your format expression (\'{}\'), though the best way is to swap quotes for double quotes and put simple quotes around your format string

sql = "SELECT top 30 oraclenum,pcat,ConLenses, sum(dollars) as dollars FROM " \
          "ConData WHERE oraclenum = '{}' group by oraclenum,pcat, ConLenses".format(account)

Upvotes: 2

Related Questions