自己在使用python分析股票数据,首先在分析单只股票在某一天数据的时候,一点问题没有;但是在扩大到多天的时候,就出现问题了,具体代码如下:
#获取日期列表 import pandas as pd import numpy as np import akshare as ak import tushare as ts data=ts.get_k_data('sh600584','2021-01-01','2021-02-07') l1=data['date'].tolist() #主体代码 def get_data(): l2=[] for i in l1: j =i.replace("-","")#将日期'2021-02-07'转换成'20210207'形式 data1= ak.stock_zh_a_tick_163(code="sh600584", trade_date=j) data1.index=pd.to_datetime(data1['成交时间']) return data1 #运行函数 get_data()
具体报错如下:
TypeError Traceback (most recent call last) <ipython-input-3-c1be559af0b6> in <module> ----> 1 get_data() <ipython-input-2-be8827aee8de> in get_data() 4 j =i.replace("-","")#将日期'2021-02-07'转换成'20210207'形式 5 data1= ak.stock_zh_a_tick_163(code="sh600584", trade_date=j) ----> 6 data1.index=pd.to_datetime(data1['成交时间']) 7 return data1 TypeError: string indices must be integers
按照问题的字面意思是应该是数字而非字符串,但是我在单独运行代码,不使用函数的时候没有问题,求助大家看看哪里有问题。
自己解决了这个问题,后来查明是akshare数据接口的问题。谢谢大家的关注。