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)
Этот работает, но я не хочу загружать его на свой местный. Я просто хочу прочитать это и вставить в свой стол
Спасибо