1

Yahoo Finance の株価を取得して、コンソールに印刷しようとしています。ただし、開始日と終了日の設定に問題があります。これが私が持っているコードです:

def get_quotes(ticker,start_date,end_date):
list = []

quote = 'http://ichart.yahoo.com/table.csv?s={}&a=2&b=1&c=2011&d=10&e=30&f=2012&g=d'.format(ticker,start_date,end_date)
response = urllib.request.urlopen(quote) 
data = response.read()
string_data = data.decode(encoding='utf-8')
lines = string_data.splitlines()
for x in lines:
    data = [y for y in x.split(',')]
    list.append(data)
return list

見積もりセクションでは、ユーザーが入力する開始日と終了日をどのように入力しますか? 「?s=」を {} に置き換えて書式設定できますが、日付に対して同じことを行うにはどうすればよいでしょうか?

4

2 に答える 2

1

ユーザーから日付を取得するには、 raw_input() を使用します

startDate = raw_input("Please enter the start date:")

フォーマットについては、ユーザーが「適切な」日付を入力した場合、それを日付オブジェクトに変換し、 strftimeを使用して必要なフォーマットを取得できます。

于 2013-10-28T22:50:19.260 に答える
1

あなたは正確に何をしたいですか?

2&b=1&c=2011&dのような開始日として置き換え29&b=10&c=2013&dますか?

更新されたコード:

start_date と end_date を入力する大まかな方法​​は次のとおりです。

start_date = raw_input("Enter start date in form of D/M/Y: ").split("/")
end_date = raw_input("Enter end date in form of D/M/Y: ").split("/")
qoute = 'http://ichart.yahoo.com/table.csv?s={}&a=' + start_date[0] + '&b=' + start_date[1] + "&c=" + start_date[2] + '&d='+end_date[0] + '&e=' + end_date[1] + '&f=' + end_date[2] + '&g=d'
于 2013-10-28T22:34:20.623 に答える