Python 如何通过print语句从返回的列表结果中删除多余字符
我有一个连接到数据库的小应用程序。 我可以使用原始输入插入数据,然后使用select查询以报告的形式返回一些结果 这是代码片段:Python 如何通过print语句从返回的列表结果中删除多余字符,python,python-2.x,Python,Python 2.x,我有一个连接到数据库的小应用程序。 我可以使用原始输入插入数据,然后使用select查询以报告的形式返回一些结果 这是代码片段: if user_input == 'Y': cursor.execute(SQLCommand, Values) cursor.execute(SQLCommand1) result = cursor.fetchall() print 'The total costs until now are ' print result
if user_input == 'Y':
cursor.execute(SQLCommand, Values)
cursor.execute(SQLCommand1)
result = cursor.fetchall()
print 'The total costs until now are '
print result
这是输出:
The total costs until now are
[(2061.1, )]
我只需要看到数字,没有任何特殊字符。我应该使用pprint吗
谢谢看起来返回的
结果
是一个包含单个元组的列表([]
)。因此,索引到列表中,然后是元组,以获得所需的值:
print result[0][0]
输出中的
[]
表示结果是一个列表。在列表中,()
表示列表中的单个元素是元组。如果您不熟悉列表和元组,您肯定需要在官方Python教程中阅读它们。这些是Python编程的基本要素
有两种方法可以得到你想要的结果
按行和列位置索引:
print result[0][0]
按行位置和列名索引:
print result[0]['total']
注意
如果您知道只能从查询中获取一行,那么也可以使用fetchone()
而不是fetchall()
:
您使用什么模块访问数据库?删除这些字符的关键是要了解它们来自何处以及它们代表什么。我正在使用pyodbc和SQL Server“我只需要看到数字,不需要任何特殊字符。”---然后您应该只打印数字,而不是包含它的数据结构。这是一个比fgitw更完整的答案,有2票。我同意@cᴏʟᴅsᴘᴇᴇᴅ, 这个答案比我的好。是的,这就是我需要的答案。谢谢,伙计!
result = cursor.fetchone()
print result['total']