【问题标题】:Duplicate Json String Print重复的 Json 字符串打印
【发布时间】:2017-07-02 23:19:57
【问题描述】:

我有这个 Json:

 [{u'PrevDay': 0.00020307, u'Volume': 37185.350516, u'Last': 0.00022451, u'OpenSellOrders': 930, u'TimeStamp': u'2017-07-02T22:58:04.493', u'Bid': 0.00022306, u'Created': u'2015-07-31T00:50:47.11', u'OpenBuyOrders': 196, u'High': 0.00024999, u'MarketName': u'BTC-AEON', u'Low': 0.000198, u'Ask': 0.00023, u'BaseVolume': 8.15021286}, {u'PrevDay': 0.0009134, u'Volume': 92603.74600271, u'Last': 0.00096555, u'OpenSellOrders': 1998, u'TimeStamp': u'2017-07-02T22:58:04.867', u'Bid': 0.0009662, u'Created': u'2017-05-17T19:54:30.143', u'OpenBuyOrders': 422, u'High': 0.001, u'MarketName': u'BTC-ANT', u'Low': 0.00088022, u'Ask': 0.00098754, u'BaseVolume': 84.66436976}, {u'PrevDay': 0.00208098, u'Volume': 9427.31361715, u'Last': 0.00215844, u'OpenSellOrders': 917, u'TimeStamp': u'2017-07-02T22:58:04.07', u'Bid': 0.00215972, u'Created': u'2017-05-02T06:26:32.897', u'OpenBuyOrders': 230, u'High': 0.00224997, u'MarketName': u'BTC-APX', u'Low': 0.00205, u'Ask': 0.00223999, u'BaseVolume': 19.99655187}, 

我想为每个重复的字符串在一行中打印 MarketNameTimeStamp

我正在使用 Python,到目前为止我已经尝试过:

market = data['MarketName']
time = data['TimeStamp']
print time, market

现在我也想打印其他字符串,但我不知道如何。

【问题讨论】:

  • 你试过什么?你能添加你当前的代码吗?您的问题与 Python 有什么关系?
  • 我建议您向我们展示您的尝试,以便我们向您展示您做错了什么。
  • 有什么问题? print([d['MarketName'] for d in json_list])
  • 我想将所有的 MarketNames 打印在一行中

标签: python json string


【解决方案1】:

您可以使用循环...在这种情况下,使用for 循环。循环旨在迭代数据序列。您走在正确的轨道上,您只需要添加一些内容:

full_data = [{u'PrevDay': 0.00020307, u'Volume': 37185.350516, u'Last': 0.00022451, u'OpenSellOrders': 930, u'TimeStamp': u'2017-07-02T22:58:04.493', u'Bid': 0.00022306, u'Created': u'2015-07-31T00:50:47.11', u'OpenBuyOrders': 196, u'High': 0.00024999, u'MarketName': u'BTC-AEON', u'Low': 0.000198, u'Ask': 0.00023, u'BaseVolume': 8.15021286}, {u'PrevDay': 0.0009134, u'Volume': 92603.74600271, u'Last': 0.00096555, u'OpenSellOrders': 1998, u'TimeStamp': u'2017-07-02T22:58:04.867', u'Bid': 0.0009662, u'Created': u'2017-05-17T19:54:30.143', u'OpenBuyOrders': 422, u'High': 0.001, u'MarketName': u'BTC-ANT', u'Low': 0.00088022, u'Ask': 0.00098754, u'BaseVolume': 84.66436976}, {u'PrevDay': 0.00208098, u'Volume': 9427.31361715, u'Last': 0.00215844, u'OpenSellOrders': 917, u'TimeStamp': u'2017-07-02T22:58:04.07', u'Bid': 0.00215972, u'Created': u'2017-05-02T06:26:32.897', u'OpenBuyOrders': 230, u'High': 0.00224997, u'MarketName': u'BTC-APX', u'Low': 0.00205, u'Ask': 0.00223999, u'BaseVolume': 19.99655187}]
for data in full_data:
    market = data['MarketName']
    time = data['TimeStamp']
    print time, market

这给出了:

2017-07-02T22:58:04.493 BTC-AEON
2017-07-02T22:58:04.867 BTC-ANT
2017-07-02T22:58:04.07 BTC-APX

【讨论】:

  • d 代表什么?
  • @PeterHansen d 是一个循环变量。在迭代i 时,它从数据中接收ith 元素。您可以将其重命名为任何名称。
  • @PeterHansen 如果这个答案有帮助,请考虑查看this。谢谢。 :)
  • @PeterHansen 我不认为你很关注。请检查我的编辑。确保使用正确的变量名。
猜你喜欢
  • 2017-02-02
  • 2014-02-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多