【发布时间】:2018-07-14 05:40:33
【问题描述】:
我正在使用返回键和相应值的多个查询填充电子表格。脚本中使用了两个数据库连接来返回数据。
如果正在执行的 SQL 语句没有问题,则以下代码可以完美运行。如果 SQL 出现问题,程序会因错误而退出,并且我的电子表格不会被填充。
如果出现错误,我仍希望在第一列中填充键并让值返回“0”
棘手的部分是因为有两个服务器连接,一个服务器可能完美地处理 SQL,而另一个可能会抛出异常。
有没有办法可以转换这个代码块来处理它?
我是一个 Python 新手,所以深入研究错误处理有点令人生畏
# Populate the spreadsheet with data from the first set of date ranges.
row = 1
col = 0
for key, value in Queries.query_dic.iteritems():
cur.execute(value.format(from_dateA,to_dateA))
cur2.execute(value.format(from_dateA,to_dateA))
rows = cur.fetchall()
rows2 = cur2.fetchall()
# Populate metric being queried in our horizontal headers
worksheet[index].write(row, col, key, format)
worksheet[index + 1].write(row, col, key, format)
# Iterate over the data and write it out row by row.
for return_count in rows:
worksheet[index].write(row, col + 1, return_count[0], format2)
for return_count in rows2:
worksheet[index + 1].write(row, col + 1, return_count[0], format2)
row += 1
【问题讨论】:
-
哪个语句抛出错误?属于哪一种?
-
好吧,例如,如果 SQL 中有错误的语法,它将引发错误。我不确定这是否发生在 cur.execute 语句或 cur.fetchall()
标签: python linux exception try-except