Как создать оператор postgres из строки?
Мне нужно сгенерировать схему POSTGRES, в идеале из фрейма данных или путем преобразования фрейма данных в строку.
Я могу успешно завершить создание схемы postgres из файлов csv, используя библиотеку csvkit http://csvkit.readthedocs.io/en/1.0.3/scripts/csvsql.html через терминал, используя следующую строку кода для файлов CSV:
csvsql -i postgresql Desktop/myfile.csv
Я также могу запустить приведенную выше строку в скрипте, используя следующую строку кода:
import os
a=os.popen("csvsql -i postgresql Desktop/myfile.csv").read()
Однако я хочу избежать создания схемы postgres из файла, а хочу сделать это в виде строки.
Я попытался запустить эту строку кода, пытаясь выдвинуть кадр данных, преобразованный в строку csv, но я ничего не получил обратно:
df = df.to_csv()
a=os.popen("csvsql -i postgresql %s" %df).read()
В документации по csvkit, указанной выше, для ФАЙЛА есть упоминание, что я могу сделать следующее:
The CSV file(s) to operate on. If omitted, will accept
input on STDIN
Я не знаю, что это значит, но могу ли я пропустить строку через STDIN
в эту строку кода?
a=os.popen("csvsql -i postgresql %s" %df).read()