Python 如何通过print语句从返回的列表结果中删除多余字符

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

我有一个连接到数据库的小应用程序。 我可以使用原始输入插入数据,然后使用select查询以报告的形式返回一些结果

这是代码片段:

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']