我已经创建了一个程序,能够从雅虎财经每月的股票信息和打印出信息列表。我知道我获取信息的方法还不是最好的,但我所坚持的是获取股票信息并将其写入csv文件。到目前为止,我有权将每个字符放入一个csv文件中。在
import requests
from urllib2 import urlopen
import csv
import pandas as pd
from pandas import DataFrame
import datetime
import pandas.io.data
YahooUrl = 'http://ichart.yahoo.com/table.csv?s='
start_month = 1 - 1
start_day = 1
start_year = 2010
end_month = 12 - 1
end_day = 31
end_year = 2014
Start_ApiMonth = '&a=%s' %(start_month)
Start_ApiDay = '&b=%s' %(start_day)
Start_ApiYear = '&c=%s' %(start_year)
End_ApiMonth = '&d=%s' %(end_month)
End_ApiDay = '&e=%s' %(end_day)
End_ApiYear = '&f=%s' %(end_year)
interval = 'm'
ApiInterval = '&g=%s' %(interval)
ApiStatic = '&ignore=.csv'
Ticker = raw_input("What is the ticker > ")
Website = urlopen(YahooUrl + Ticker + Start_ApiMonth + Start_ApiDay + Start_ApiYear + End_ApiMonth + End_ApiDay + End_ApiYear + ApiInterval + ApiStatic)
Info = Website.read()
output = open('output.csv','wb')
wr = csv.writer(output, dialect='excel')
for item in Info:
wr.writerow(item)
print Info
read()
返回一个字符串,因此Info
是一个字符串。对字符串的迭代将导致迭代组成字符串的每个字符:因此,您的代码将把每个字符写到csv文件的单独一行。
您接收的数据实际上已经是CSV格式的。以下是股票YHOO的前几行:
^{pr2}$所以只需保存文件即可:
这将把数据写入一个名为stock name后跟
.csv
扩展名的文件,例如YHOO.csv
更新
下面的代码演示如何下载和合并多个股票的数据。输出文件现在需要一个额外的字段来标识股票-
Stock ID
。这将作为标题行和详细信息行的第一个CSV字段插入。标头仅发射一次。相关问题 更多 >
编程相关推荐