【问题标题】:How to display data as array format using python如何使用python将数据显示为数组格式
【发布时间】:2017-07-06 12:06:31
【问题描述】:
def index(request):
    conn = MySQLdb.connect(host="localhost", user="user", passwd="pwd", db="highchart_with_django")
    cursor = conn.cursor()
    cursor.execute("SELECT categories,tokyo,london,new_york,berlin FROM basic_line_chart")
    row = cursor.fetchone()
    while row is not None:
       print row
       row = cursor.fetchone()
    return render(request, "linechart.html")

输出如下:

('Sep', Decimal('7.00'), Decimal('3.90'), Decimal('-0.20'), Decimal('-0.90'))
('Oct', Decimal('6.90'), Decimal('4.20'), Decimal('0.80'), Decimal('0.60'))

预期输出:

 ["Sep", "7.00", "3.90", "-0.20", "-0.90"],["Oct", "6.90", "4.20", "0.80", "0.60"]

我怎样才能做到这一点。请帮帮我。

【问题讨论】:

    标签: python arrays django arraylist


    【解决方案1】:

    请尝试

    row = cursor.dictfetchall() #给dict

    row = cursor.fetchall()#给出一个列表。

    输出:-

    ["Sep", "7.00", "3.90", "-0.20", "-0.90"],["Oct", "6.90", "4.20", "0.80", "0.60"]
    

    【讨论】:

      【解决方案2】:

      试试这个:-

      def index(request):
          conn = MySQLdb.connect(host="localhost", user="user", passwd="pwd", db="highchart_with_django")
          cursor = conn.cursor()
          cursor.execute("SELECT categories,tokyo,london,new_york,berlin FROM basic_line_chart")
          row = cursor.fetchone()
          while row is not None:
             print row
             row = list(cursor.fetchone())
          return render(request, "linechart.html")
      

      【讨论】:

        【解决方案3】:

        您的问题不是 100% 清楚,但如果您真的只是想获取字符串列表:

        >>> for row in cursor.fetchall():
        ...     print [str(col) for col in row]
        ...
        ['Sep', '7.00', '3.90', '-0.20', '-0.90']
        ['Oct', '6.90', '4.20', '0.80', '0.60']
        

        【讨论】:

          【解决方案4】:

          根据这个链接http://mysql-python.sourceforge.net/MySQLdb.htmlfetchone()返回一个元组。

          要将其转换为列表,只需将其转换即可。

          row = list(cursor.fetchone())
          

          然后您可以迭代列表以获取您正在寻找的正确格式。

          【讨论】:

            【解决方案5】:

            盲目地将所有内容转换为字符串(因为您没有具体说明):

            def index(request):
                conn = MySQLdb.connect(host="localhost", user="user", passwd="pwd", db="highchart_with_django")
                cursor = conn.cursor()
                cursor.execute("SELECT categories,tokyo,london,new_york,berlin FROM basic_line_chart")
                rows = [[str(field) for field in row] for row in cursor]
                for row in rows:
                    print(row)
                return render(request, "linechart.html")
            

            我不确定这是否能解决您的问题。你想把所有的Decimal 转换成字符串吗?某种浮点数可能对图表更有用。

            【讨论】:

            • 每一行用逗号分隔。该怎么做?
            • 试试print(rows)。这就是你想要的吗?
            猜你喜欢
            • 1970-01-01
            • 2018-12-17
            • 2021-10-30
            • 2017-03-13
            • 1970-01-01
            • 2020-03-06
            • 1970-01-01
            • 2013-07-08
            • 2020-06-15
            相关资源
            最近更新 更多