2017-08-08 10 views
-1

in Python3.6この文字列の時系列を作成するにはどうすればいいでしょうか?ティッカー、日付、オープン、ハイ、ロー、ラスト、ボリューム、オープンの順に日付順に並んでいるようです近い値をグラフ化するにはどうすればよいですか?

import urllib 
import re 
import numpy as np 
import requests 
import pandas as pd 

ticker = 'NGU17' 

url='https://www.barchart.com/proxies/timeseries/queryeod.ashx?symbol=' +ticker + '&data=daily&maxrecords=960&volume=contract&backadjust=false&daystoexpiration=1&contractroll=expiration' 

data = urllib.request.urlopen(url).read() 

data_clean = str(data.split()[len(data.split())-100:]).replace("b", "").replace("'","") 

print(data_clean) #ticker, date, open, high, low, last, volume, openinterest 

答えて

-1

このコードでは、いくつかの一般的な "クリーニング" を必要とする、ここを見て:

import requests 
import pandas as pd 
import matplotlib.pyplot as plt 

ticker = 'NGU17' 

url='https://www.barchart.com/proxies/timeseries/queryeod.ashx?symbol={}\ 
&data=daily&maxrecords=960&volume=contract&backadjust=false&\ 
daystoexpiration=1&contractroll=expiration'.format(ticker) 


df = pd.read_csv(url, header = None) 
df.columns = ['ticker', 'date', 'open', 'high', 'low', 'last', 'volume', 'openinterest'] 

series = df.set_index("date")["last"] # <-- timeseries with last 

series.plot() 
plt.show() 

enter image description here

これと同様に

が、パンダはあまりにのURLからCSVファイルを読み込むことができます。 Pandas read_csv from url


更新ここは、あなたがフォーマット文字列

import requests 
import pandas as pd 
import matplotlib.pyplot as plt 

params = {"symbol":'NGU17', 
      "data":"daily", 
      "maxrecords":960, 
      "volume": "contract", 
      "backadjust": False, 
      "daystoexpiration": 1, 
      "contractroll":"expiration" 
     } 

url='https://www.barchart.com/proxies/timeseries/queryeod.ashx?\ 
symbol={0[symbol]}&data={0[data]}&maxrecords={0[maxrecords]}&volume={0[volume]}&backadjust={0[backadjust]}&\ 
daystoexpiration={0[daystoexpiration]}&contractroll={0[contractroll]}'.format(params) 

df = pd.read_csv(url, header = None) 
df.columns = ['ticker', 'date', 'open', 'high', 'low', 'last', 'volume', 'openinterest'] 

serie = df.set_index("date")["last"] 

serie.plot() 
plt.show() 
に渡す辞書を作成する別の例であります
関連する問題