2017-09-07 116 views
1

我正在使用poloniex交易者API獲取實時市場報價信息。它在控制檯上完美運行。當我要求市場報價回報我得到這{'last': '0.07269671', 'high24hr': '0.07379970', 'quoteVolume': '71582.56540639', 'isFrozen': '0', 'lowestAsk': '0.07277290', 'percentChange': '-0.00551274', 'id': 148, 'low24hr': '0.07124645', 'highestBid': '0.07269671', 'baseVolume': '5172.41552885'}寫入CSV文件Python3問題

問題是它只存儲項目名稱/列表名稱,如 - low24hr, lowestAsk, highestBid etc。沒有自己的價值一樣 - low24hr : 0.07124645

polo = Poloniex() 
ticker_data = (polo('returnTicker')['BTC_ETH']) 

out = csv.writer(open("myfile.csv","w"), delimiter=',',quoting=csv.QUOTE_ALL,) 
out.writerow(ticker_data) 
print(ticker_data) 

這裏是我的CSV文件看起來喜歡 - ImageView

ImageView

+0

歡迎來到SO。您的帖子中沒有足夠的信息可以幫助我們。請閱讀[問]和[mcve]。 – wwii

回答

1

你的問題是,out.writerow(ticker_data)只接收字典的關鍵字並將它們寫入文件。嘗試使用csv.DictWriter

with open('myfile.csv', 'w', newline='') as csv_file: 
    # Pass the keys of the `ticker_data` as the fieldnames. 
    writer = csv.DictWriter(csv_file, fieldnames=ticker_data, quoting=csv.QUOTE_ALL) 
    # Write the fieldnames. 
    writer.writeheader() 
    # Write the values. 
    writer.writerow(ticker_data) 
+1

作爲初學者,這對我更有意義朋友(擁抱) – NUMB

1
with open('my_file.csv', 'w') as f: 
    for key, value in ticker_data.items(): f.write('{0},{1}\n'.format(key, value)) 

here

+0

是的,它的工作... – NUMB

+1

如果你不想創建一個列表,不要使用列表理解。只需使用正常的循環。 – skrx

+1

好吧,我把它編輯爲 –