我需要生成POSTGRES模式,理想情况下是从数据帧生成或将数据帧转换为字符串。
我可以使用以下CSV文件上的代码行通过终端,使用csvkit库http://csvkit.readthedocs.io/en/1.0.3/scripts/csvsql.html成功地从csv文件生成postgres模式:
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()