Advertisement
Guest User

fea

a guest
Feb 22nd, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1. from urllib.request import Request, urlopen
  2. import json
  3. from pandas.io.json import json_normalize
  4. import pandas as pd
  5. import xlsxwriter
  6.  
  7.  
  8.  
  9. Prefix = "https://api.iextrading.com/1.0/tops?symbols="
  10. #Suffix3 = input()
  11. Suffix1 = "IBM"
  12. linke1 = Prefix + Suffix1
  13.  
  14.  
  15.  
  16. # print (linke1)
  17. # print (linke2)
  18.  
  19. def return_valid_securities():
  20. """
  21. Return a list of valid securities
  22. :param securities: list of securities
  23. :return: list of valid securities
  24. """
  25.  
  26. valid_securities = _url_to_dataframe(linke1)['symbol']
  27.  
  28.  
  29. return [x for x in securities if x in set(valid_securities)]
  30.  
  31.  
  32. def _url_to_dataframe(url, nest=None):
  33. """
  34. Takes a url and returns the response in a pandas dataframe
  35. :param url: str url
  36. :param nest: column with nested data
  37. :return: pandas dataframe containing data from url
  38. """
  39.  
  40. request = Request(url)
  41. response = urlopen(request)
  42. elevations = response.read()
  43. data = json.loads(elevations)
  44.  
  45. if nest:
  46. data = json_normalize(data[nest])
  47. else:
  48. data = json_normalize(data)
  49.  
  50. return pd.DataFrame(data)
  51.  
  52.  
  53. #while (Suffix1 == "IBM"):
  54.  
  55. def get_latest_quote_and_trade1():
  56. """
  57. Gets latest quote and trade data
  58. :param securities: list of securities
  59. :return: pandas dataframe containing data for valid securities
  60. """
  61.  
  62. df = _url_to_dataframe(linke1)
  63. df['lastSaleTime'] = pd.to_datetime(df['lastSaleTime'], unit='ms')
  64. df['lastUpdated'] = pd.to_datetime(df['lastUpdated'], unit='ms')
  65. df.set_index(['symbol'], inplace=True)
  66. writer = pd.ExcelWriter('output4.xlsx', engine='xlsxwriter')
  67. dataframe = pd.DataFrame({'output': [df,df,df]})
  68. return df.to_excel(writer, sheet_name='Stocks', header=True, engine='xlswriter',)
  69. writer.save()
  70.  
  71. #return df.to_string()
  72. #return df.to_excel('exceloutput.xlsx', sheet_name='sheet1', index=False,)
  73.  
  74.  
  75. print(get_latest_quote_and_trade1())
  76. print(linke1)
  77. '''
  78. output1 = get_latest_quote_and_trade1()
  79. dataframe = pd.DataFrame ({'output': [output1]})
  80. writer = pd.ExcelWriter('output3.xlsx', engine='xlsxwriter')
  81. dataframe.to_excel(writer, sheet_name='sheet2', header=True)
  82. workbook = writer.book
  83. worksheet = writer.sheets['sheet2']
  84. writer.save()
  85. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement