0

如果我想用参数更改查询。

我不想用这个 Query 运行 Sql 。我想在 txt 文件中编写查询并与其他人共享查询。

但是 Pandas.text_sql、Pandas.read_sql_query 这个函数会使用查询来运行。

所以我想找到与 pandas.read_sql_query 类似的参数的文本更改

我可以更改“read_sql_query”哪个函数?我真的对python有点了解..如果你知道的话,帮助我~

text_sql = pandas.read_sql_query(""" select * from %s""", %(table_name),conn)

f= open(file_name+'.txt','w+')
f.write(text_sql)
f.close()
4

2 回答 2

0

编辑:当我给出第一个答案时,我完全误解了这个问题。

您想将查询写入文件并将该文件发送给其他人,因此您的问题pandas与 sql 查询无关。在您提供的示例中,pandas 充当了包装 sql 查询的接口。这些函数将对数据进行一些处理,并以某种结构化格式返回请求的结果。

在这里,我们只想要请求本身。所以你可以自己处理字符串。

sql_request_string = "select * from " + table_name
with open(file_name, 'w+') as f:
    f.write(sql_request_string)

现在,该片段本身并没有特别使用 full。但是我们可以将它包装在一个函数中,然后使用它。

def save_request_string(table_name,filename,field="*"):
"""write a sql request string to file"""
request_template = "select {field} from {table}"
with open(file_name, 'w+') as f:
    f.write(request_template.format(field=field, table=table_name))

例如,您可以使用该函数通过循环遍历您已组装的表名列表来将许多请求写入文件。然后将文件通过电子邮件发送给您的朋友。

现在,如果您还想从您的 python 脚本通过电子邮件发送文件。恐怕我帮不了你。

于 2017-03-28T06:55:42.273 回答
-1

如果您只想在文本文件中发送文本,只需执行此操作,并table_name作为字符串

f= open(file_name+'.txt','w+')
f.write('select * from '+table_name)
f.close()
于 2017-03-28T06:45:31.097 回答