这个网站在我学习 Python 的过程中对我很有帮助,在过去 3 天断断续续地解决这个问题之后,它打败了我,我敢打赌它很容易解决。下面的代码工作正常,因为它没有产生任何错误,除了它有一个烦人的问题而且我似乎无法找到解决它的办法,好的代码如下。
import pyodbc
conn = pyodbc.connect('{dsn connection}')
cursor = conn.cursor()
storedprocedure = "sql stored procedure retrieving all columns and adding one parameter ?"
#taking a value from a previous column to pass into sql query
params = idno
cursor.execute(storedprocedure, params)
result = cursor.fetchall()
column1 = [row[0] for row in result]
#Check result in variable
print(column1)
你可以看到它的简单程序,但是当我打印 column1 时,这是 python 中的输出:
['Lawrence']
所以我自然可以使用
print(*column1, sep = '')
并得到这个输出,这是我想要的变量
Lawrence
问题是我如何在没有那些烦人的 [' '] 的情况下将该值放入变量中,这太令人沮丧了。然后我使用该变量并将代码放入 SQL 数据库中,然后运行所有工作的网络报告,但显然显示方括号,但仅针对从该查询中获取的信息,我从表单中获取的其他变量工作正常.我尝试了多种从数据库中检索信息的方法,它们都做同样的事情。
任何建议将不胜感激,因为我一直在谷歌搜索和测试各种东西但没有运气。
SIGH 解决了这个问题,我发现它很简单,[' 和 '] 是自动填充的空格。因此,将我创建变量的方式更改为字符串并使用 strip 命令删除空格。我还将其更改为 cusor.fetchone,因为我发布的查询只会返回一个响应。
result = cursor.fetchone()
column1 = str(result[0]).strip()
#Check result in variable
print(column1)
这带回了我现在在任何地方都不需要 [' 或 '] 的东西,希望这能帮助别人。