DPY-3002: значение Python типа «int64» не поддерживается; Очевидно, мне нужно объединить мой код с InputHandler, но у меPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 DPY-3002: значение Python типа «int64» не поддерживается; Очевидно, мне нужно объединить мой код с InputHandler, но у ме

Сообщение Anonymous »

У меня есть приведенный ниже код, который я использую cx_oracle для извлечения из базы данных и передачи переменной из файла csv. переменная 'unitid' действительно имеет тип dtype - int64, но я пробовал несколько преобразований, но ничего не получилось.
По сути, приведенный ниже код должен быть объединен со следующим кодом после него в соответствии с аналогичными вопросами, но я не смог собрать это вместе,
это мой код:

df = pd.read_csv(r"C:\Users\Vosoua\Desktop\Ingenco_Offers_csv2.csv")

df=df.dropna()

unitid=df['UNITSCHEDULEID'].unique()

TNS_Admin = os.environ.get('xxxxx')
oracledb.defaults.config_dir = TNS_Admin
pw = input(f'Enter password: ')
connection = oracledb.connect(user='xxxxx', password= pw, dsn="xxxxxx")

query = """SELECT HOUR, UNITSCHEDULEID, VERSIONID, MINRUNTIME
FROM int_Stg.xxxxxx
WHERE Hour in ({hour_binds})
AND UnitScheduleId in ({id_binds})""".format(
hour_binds=",".join((f":{idx}" for idx, _ in enumerate(hour, 1))),
id_binds=",".join((f":{idx}" for idx, _ in enumerate(unitid, len(hour) + 1))),
)

res = connection.cursor().execute(query, (*hour, *unitid)).fetchall()

и второй код
def InConverter(value):
return int(value) # or whatever is needed to convert from numpy.int64 to an integer

def InputTypeHandler(cursor, value, num_elements):
if isinstance(value, numpy.int64):
return cursor.var(int, arraysize=num_elements, inconverter=InConverter)

cursor().inputtypehandler = InputTypeHandler


Подробнее здесь: https://stackoverflow.com/questions/783 ... bine-my-co
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»