Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用for循环从嵌套数据中获取各自的统计信息_Python - Fatal编程技术网

Python 如何使用for循环从嵌套数据中获取各自的统计信息

Python 如何使用for循环从嵌套数据中获取各自的统计信息,python,Python,我有python中的数据: { u'stats': [ u'Jul 23, 2015', u'Jul 24, 2015', u'Jul 25, 2015', u'Jul 26, 2015' ], u'tickers_data': [ {u'amount': [936, 804, 977, 954], u'name': u'adv'} ] } 预期的输出是:将所有日期和相应的金额值存储

我有python中的数据:

{
    u'stats': [
        u'Jul 23, 2015',
        u'Jul 24, 2015',
        u'Jul 25, 2015',
        u'Jul 26, 2015'
    ],
    u'tickers_data': [
        {u'amount': [936, 804, 977, 954], u'name': u'adv'}
    ]
}
预期的输出是:将所有日期和相应的金额值存储到数据库中

我该怎么做?

要获取日期:

data["stats"]
要获取金额,请执行以下操作:

data["tickers_data"][0]["amount"]
一旦有了这两个列表,就可以使用将这两个列表组合成可以迭代的元素对:

data = {
    u'stats': [
        u'Jul 23, 2015',
        u'Jul 24, 2015',
        u'Jul 25, 2015',
        u'Jul 26, 2015'
    ],
    u'tickers_data': [
        {u'amount': [936, 804, 977, 954], u'name': u'adv'}
    ]
}                                                                    
days = data['stats']
ticker = data['tickers_data'][0]['amount']

for day, amount in zip(days, ticker):
    print(day, "->", amount)
输出:

$ python3 x.py
Jul 23, 2015 -> 936
Jul 24, 2015 -> 804
Jul 25, 2015 -> 977
Jul 26, 2015 -> 954

如果这不是你的意思,你需要在你的问题中提供更多的细节,说明你正在尝试做什么,以及你期望最终结果是什么样子。您还应该尝试编写您尝试执行的初始尝试代码,并将该代码发布在问题中。

您可以使用类似以下内容来显示它:

data_dict = {
    u'stats': [
        u'Jul 23, 2015',
        u'Jul 24, 2015',
        u'Jul 25, 2015',
        u'Jul 26, 2015'
    ],
    u'tickers_data': [
        {u'amount': [936, 804, 977, 954], u'name': u'adv'}
    ]
}

print "Ticker name '%s':" % data_dict[u'tickers_data'][0][u'name']

dates = data_dict[u'stats']
amounts = data_dict['tickers_data'][0][u'amount']

for date, amount in zip(dates,amounts):
    print "  Date: %s, Amount: %s" % (date, amount)
这将提供以下输出:

Ticker name 'adv':
  Date: Jul 23, 2015, Amount: 936
  Date: Jul 24, 2015, Amount: 804
  Date: Jul 25, 2015, Amount: 977
  Date: Jul 26, 2015, Amount: 954
如果要将数据存储在文件中,可以添加以下内容:

with open("ticker_data.txt", "w") as f_output:
    f_output.write("Ticker name '%s':\n" % data_dict[u'tickers_data'][0][u'name'])

    for date, amount in zip(dates,amounts):
        f_output.write("  Date: %s, Amount: %s\n" % (date, amount))

使用Python 2.7测试日期和金额是如何链接的?非常感谢。它起作用了。我想在MySQLdb中插入此数据。你能帮我怎么做吗。从创建表开始插入查询。------列名日期金额和响应数据:2015年7月23日->2015年7月24日936->2015年7月25日804->2015年7月26日977->954Great!别忘了标记一个。对于你的第二个问题,我建议你首先在StackOverflow上搜索其他问题,或者在Google上搜索类似的教程。试着先写一个解决方案,然后询问StackOverflow是否卡住了,或者是否抛出了错误,等等。这将帮助你成为一名更好的程序员,让你自学,而不是让自己走完每一步。祝你好运,黑客快乐:)