已关闭。此问题需要details or clarity。目前不接受回答。
**要改进此问题吗?**通过editing this post添加详细信息并阐明问题。
4天前关闭。
Improve this question的
我用的是SQLite3和Pandas。我想把用户的查询作为输入,并从一个函数'run_query'中获取结果,该函数简单地返回 Dataframe 。
a.我希望重复输入,直到用户决定退出B.如果查询未运行,我希望通知用户更新查询
我试着这样做:
为真时:
query = input('Enter your query(输入exit以中止查询!):')
如果query.lower()!=“退出”:
尝试:
run_query(查询,连接)
操作错误除外:
print(“请重新构建您的查询!”)continue
否则:
打破
它会导致以下行为:
a.返回有效查询但不显示结果,再次要求输入。b.在'try'后添加print语句,打印查询结果,再次要求输入,但Pandas格式丢失。c.查询不正确时,抛出NameError:'Operational Error'未定义并中止。d.在接收到'exit'作为输入时退出
我怎么能
a.获取Pandas格式的 Dataframe ,不打印?在run_query函数中,我只是简单地做了'return pd.read_sql(query,sql_connection)'。
B.如何处理收到错误查询时的DatabaseError/OperationalError并要求再次输入?
任何帮助都将意义非凡!
1条答案
按热度按时间k5hmc34c1#
a:您可以捕获run_query函数返回的DataFrame,如果它不为空,则打印它。下面是一个更新的代码片段:while True:query = input('输入您的查询(键入exit以中止!):')
字符串
B:要处理潜在的错误并再次请求输入,您可以捕获OperationalError并提示用户输入新查询。您可以像这样修改代码:
型