Когда я извлекаю данные с помощью модуля cx_Oracle, вместо Oracle NULL возвращается None. На этом этапе я использую следующую функцию для преобразования None в пустую строку.
def xstr(s):
if s is None:
return ''
return str(s)
Есть ли способ заставить модуль cx_Oracle возвращать пустую строку вместо None?
Вы можете использовать выходной обработчик и выходной преобразователь, чтобы преобразовать этот путь. Что-то вроде этого.
def OutConverter(value):
if value is None:
return ''
return value
def OutputTypeHandler(cursor, name, defaultType, size, precision, scale):
if defaultType in (cx_Oracle.STRING, cx_Oracle.FIXED_CHAR):
return cursor.var(str, size, cursor.arraysize, outconverter=OutConverter)
connection.outputtypehandler = OutputTypeHandler
Вышеприведенный код преобразует любые нулевые строки, возвращаемые из базы данных, в пустые строки.