如何从字符串创建postgres语句?

时间:2018-07-23 14:18:25

标签: python python-3.x postgresql stdin csvkit

我需要生成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()

0 个答案:

没有答案