在 python 脚本中使用 psycopg 将日期放入文件名 postgres
Put date in filename postgres with psycopg in a python script
我正在使用 python 脚本(使用 psycopg2)将推文流式传输到 postgres 数据库。我希望能够在 windows 任务管理器中安排此脚本。我必须克服的唯一问题是能够在 postgres 中重命名 table。可能吗?
x = datetime.date.today() - datetime.timedelta(days=1)
con = psycopg2.connect("dbname='test' user='postgres'")
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS schemaname.%s", (x))
** 更新
这个答案确实让我更进一步,现在它只是抱怨数字。
Traceback (most recent call last):
File "Z:/deso-gis/scripts/test123.py", line 26, in <module>
cur.execute("DROP TABLE IF EXISTS tweets_days.%s" % x)
psycopg2.ProgrammingError: syntax error at or near ".2016"
LINE 1: DROP TABLE IF EXISTS tweets_days.2016-02-29
我相信你在排队
cur.execute("DROP TABLE IF EXISTS schemaname.%s", (x))
因为 psycopg 生成的不是您想要的:
DROP TABLE IF EXISTS schemaname."table_name"
尝试使用
cur.execute("DROP TABLE IF EXISTS schemaname.%s" % x)
这不是那么安全,但现在 table 名称是名称而不是 SQL 字符串。
我正在使用 python 脚本(使用 psycopg2)将推文流式传输到 postgres 数据库。我希望能够在 windows 任务管理器中安排此脚本。我必须克服的唯一问题是能够在 postgres 中重命名 table。可能吗?
x = datetime.date.today() - datetime.timedelta(days=1)
con = psycopg2.connect("dbname='test' user='postgres'")
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS schemaname.%s", (x))
** 更新
这个答案确实让我更进一步,现在它只是抱怨数字。
Traceback (most recent call last):
File "Z:/deso-gis/scripts/test123.py", line 26, in <module>
cur.execute("DROP TABLE IF EXISTS tweets_days.%s" % x)
psycopg2.ProgrammingError: syntax error at or near ".2016"
LINE 1: DROP TABLE IF EXISTS tweets_days.2016-02-29
我相信你在排队
cur.execute("DROP TABLE IF EXISTS schemaname.%s", (x))
因为 psycopg 生成的不是您想要的:
DROP TABLE IF EXISTS schemaname."table_name"
尝试使用
cur.execute("DROP TABLE IF EXISTS schemaname.%s" % x)
这不是那么安全,但现在 table 名称是名称而不是 SQL 字符串。