Postgres/GCS/Python: вставка данных, хранящихся в переменной, которые считываются из GCS, в таблицу postgres

Я пытаюсь прочитать файл из GCS и сохранить его в переменной и создать таблицу postgresql из него. Я могу подключиться к GC из моего кода и иметь возможность хранить данные в variabe с помощью этого:

result = blob.download_as_string()
result = result.decode('utf8').strip()

который напечатан результат в правильном формате. Затем я попытался вставить данные из этой переменной в таблицу, которую я сделал:

sql = "COPY tablename FROM STDIN WITH DELIMITER ',' NULL AS '\\N' CSV HEADER;"
cursor.copy_expert(sql, result)

и я получил эту ошибку:

file must be a readable file-like object for COPY FROM; a writable file-like object for COPY TO

Я также попробовал с другой функцией:

cursor.copy_from(result, 'table' ,sep=',')

но я получил такой результат:

argument 1 must have a .read() method

Итак, в соответствии с моим вопросом, как я могу поместить данные в переменной в таблицу, которую я создал. Или я должен загрузить это к моему местному и использовать это:

sql = "COPY tablename from STDIN WITH DELIMITER ',' CSV HEADER"
with open('/path/to/csv' , 'r+') as file:
     cursor.copy_expert(sql, file)

Этот работает, но я не хочу загружать его на свой местный. Я просто хочу прочитать это и вставить в свой стол

Спасибо

0 ответов

Другие вопросы по тегам