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

Я пытаюсь прочитать файл из GCS, сохранить его в переменной и создать из него таблицу postgresql.Я могу подключиться к ГХ из своего кода и иметь возможность хранить данные в 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)

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

Спасибо

...