2017-11-08 1 views
0
from lxml import html 
import operator 
import discord 
import yaml 
import csv 



raw_json = 
requests.get('https://bittrex.com/api/v1.1/public/getmarketsummaries').text 
json_dict = json.loads(raw_json) 
stuff = json_dict["result"] 
new = [] 
for i in range(0,197): 
    price = (stuff[i]['Last']) 
    name1 = (stuff[i]['MarketName']) 
    name = name1.replace("BTC-", "") 
    prev = (stuff[i]['PrevDay']) 
    diff = price - prev 
    change = round(((price - prev)/price) * 100, 2) 
    final = ('{0},{1}'.format(name,change)) 
    new.append(final) 
butFirst = new[0:] 
this1 = ("\n".join(butFirst)) 
text_file = open("Sort.txt", "w") 
text_file.write(this1) 
text_file.close() 

임 가진 문제는 내가 .. 정수 오류 등이 ... 내가 수를 저장하지만 난 그것을 알아낼 질수 방법 문제 가 생각하는 기본 10 오류를 얻을.
출력>과 같다숫자로 열별로 텍스트 파일을 정렬하려면 어떻게해야합니까? 두 번째 열이 출력 .. 정렬

1ST,-5.94 
2GIVE,3.45 
ABY,2.44 
ADA,0.0 
ADT,-4.87 
ADX,-13.09 
AEON,-2.86 
AGRS,-2.0 

답변

0

당신은 당신이 필요보다 먼저 텍스트 데이터를 변경하지 않도록해야합니다. 사전 목록으로 작업하는 경우 목록을 정렬하기가 매우 쉽습니다.

import json 
import csv 
import requests 


raw_json = requests.get('https://bittrex.com/api/v1.1/public/getmarketsummaries').text 
json_dict = json.loads(raw_json) 
stuff = json_dict["result"] 
new = [] 
for i in range(0,197): 
    price = float(stuff[i]['Last']) 
    prev = float(stuff[i]['PrevDay']) 
    # Use dictionary to hold the data 
    d = { 
      'name' : stuff[i]['MarketName'].replace("BTC-", ""), 
      'change' : round(((price - prev)/price) * 100, 2) 
      } 
    new.append(d) 

# The actual sorting part, sorting by change 
sorted_list = sorted(new, key=lambda k: k['change']) 

# Writing the dictionaries to file 
with open("Sort.txt", "w") as text_file: 
    dict_writer = csv.DictWriter(text_file, sorted_list[0].keys()) 
    # include the line below, if you want headers 
    # dict_writer.writeheader() 
    dict_writer.writerows(sorted_list) 
관련 문제