当我尝试用python从yahoo finance获取历史股票数据时,我得到了正确的html输出,但在csv中,它返回未知字符
csv输出:
摁彪汣獯ⱥ汃獯ⱥ慄整䠬杩ⱨ潌ⱷ灏湥匬浹潢ⱬ潖畬敭㈊ⴴ㐰㈭ⰵ䡙住ㄬ㐹〶ⰰ㐳㐮ⰸ㔳〮㤹㤹ⰸ㐳㈮〹〰ⰱ㐳㐮ⰸ㔳〮㤲㤹ⰹ
这是我的密码:
def run():
yahoo=Share('YHOO')
file1=open("scripts/hisdata.csv","w")
file1.write("Adj_close,Close,Date,High,Low,Open,Symbol,Volume\n")
h= yahoo.get_historical('2014-04-25', '2014-04-29')
h=h[0]
a=h.values()
a=','.join(a)
a=a.split(',')
vol=a[0]
sym=a[1]
adjcls=a[2]
high=a[3]
low = a[4]
date = a[5]
close = a[6]
opn = a[7]
file1.write(date+",")
file1.write(sym+",")
file1.write(vol+",")
file1.write(adjcls+",")
file1.write(high+",")
file1.write(low+",")
file1.write(close+",")
file1.write(opn+",")
print vol
print date
return (vol,adjcls,high,low,close,opn)
您可以尝试以下方法,使用Python的^{} 模块自动为输出创建正确的格式:
yahoo_finance
模块将每个条目作为字典返回,因此按名称提取每个条目比列出值更简单、更安全。你知道吗对我来说,这会创建一个
output.csv
文件,其中包含以下内容:并显示以下输出:
您看到的数据可能是由于您用于查看文件的方法造成的,它似乎解码不正确。文件应以字节形式打开,例如ASCII。您应该尝试将其加载到电子表格应用程序中,例如Excel。你知道吗
对于LibreOffice Calc,请尝试以下操作:
要将所有返回的行数据写入csv文件,可以使用以下脚本:
相关问题 更多 >
编程相关推荐