tushare接口get_realtime_quotes报错:AssertionError: 33 columns passed, passed data had 34 columns
tushare接口get_realtime_quotes,今天报错了:
AssertionError: 33 columns passed, passed data had 34 columns
看了一下源码,在获取股票代码为600063时,报了错。
dataframe5 = ts.get_realtime_quotes('600063')
与正常的代码比较
dataframe5 = ts.get_realtime_quotes('000001')
定位是在list转换成dataframe是出错了。
df = pd.DataFrame(data_list, columns=ct.LIVE_DATA_COLS)
其中,LIVE_DATA_COLS的定义是有33个元素:
LIVE_DATA_COLS = ['name', 'open', 'pre_close', 'price', 'high', 'low', 'bid', 'ask', 'volume', 'amount','b1_v', 'b1_p', 'b2_v', 'b2_p', 'b3_v', 'b3_p', 'b4_v', 'b4_p', 'b5_v', 'b5_p','a1_v', 'a1_p', 'a2_v', 'a2_p', 'a3_v', 'a3_p', 'a4_v', 'a4_p', 'a5_v', 'a5_p', 'date', 'time', 's']
报错是,data_list的值:
"皖维高新,3.060,3.090,3.050,3.090,3.030,3.050,3.060,15402659,47026593.000,86945,3.050,229700,3.040,345100,3.030,430300,3.020,412000,3.010,274500,3.060,538593,3.070,224300,3.080,190700,3.090,295800,3.100,2019-08-01,15:00:00,00,";
正常的data_list的值:
"平安银行,14.060,14.130,14.100,14.190,13.940,14.100,14.110,52798128,742308285.200,71100,14.100,64800,14.090,61000,14.080,181435,14.070,676618,14.060,224200,14.110,99100,14.120,103000,14.130,102700,14.140,148346,14.150,2019-08-01,15:00:03,00";
通过对比,很明显,报错时,data_list的值,最后多了一个逗号,dataframe认为有34个元素,比LIVE_DATA_COLS的定义是有33个元素多一个,不匹配,所以报错了。
问题找到了,解决办法有无数个,我选择简单的那个,将data_list只取33个元素:
for index, row in enumerate(data):if len(row)>1:data_list.append([astr for astr in row.split(',')])syms_list.append(syms[index])if len(syms_list) == 0:return None#AssertionError: 33 columns passed, passed data had 34 columnsfor i in range(0,len(data_list)):data_list[i] = data_list[i][0:len(ct.LIVE_DATA_COLS)]df = pd.DataFrame(data_list, columns=ct.LIVE_DATA_COLS)
tushare接口get_realtime_quotes报错:AssertionError: 33 columns passed, passed data had 34 columns相关推荐
- 调用webservice接口,报错:(十六进制值0x01)是无效的字符。
文章目录 #事故现场 #分析 #解决方法 #事故现场 调用webservice接口,报错:(十六进制值0x01)是无效的字符. 如图: 意思是webservice返回的信息中包含无效的字符,无法解析成 ...
- pip list报错:DEPRECATION: The default format will switch to columns in the future.
pip list报错:DEPRECATION: The default format will switch to columns in the future. sudo gedit ~/.pip/p ...
- MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法
MyBatis多个接口参数报错:Available parameters are [0, 1, param1, param2], 及解决方法 参考文章: (1)MyBatis多个接口参数报错:Avai ...
- 调用后台接口返回报错前端隐藏提示_腾讯社交联盟广告
开发者帮助中心 优量汇服务体系升级了,除查阅本页常见问题外,还可以通过以下渠道解决您遇到的问题 1. 实时智能客服 入口:优量汇官网.开发者平台.优量汇服务号 时间:7*24即时问答 服务内容:涵盖 ...
- openfeign接口启动报错: is not assignable to interface feign.hystrix.FallbackFactory
openfeign接口启动报错: is not assignable to interface feign.hystrix.FallbackFactory 报错详情: org.springframew ...
- 接口访问报错:301 Moved Permanently
场景 今天接口访问报错:301 Moved Permanently.我傻傻的检查了好半天后台日志,发现怎么都找不到.后来问了大神,才晓得301请求压根就没有到后台,当然没有日志了. 报错如下: 解释: ...
- 使用neurolab报错AssertionError
运行下句报错AssertionError err=net.train(train_x,train_y,epochs=100, show=1, goal=0.02) 如图所示 突然发现根本不懂" ...
- 开发避坑3——大鸟 pk Bug(使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request ......))
使用postman测试POST接口遇到报错(ErrorMessage:Unauthorization request -) 不管你是前端.后端.测试还是运维等工程师,学会使用postman测试接口是工 ...
- 报错解决:alueError: When using data tensors as input to a model, you should specify the `steps_per_epoch
报错解决:valueError: When using data tensors as input to a model, you should specify the steps_per_epoch ...
最新文章
- java 回滚异常_回滚事务并关闭抛出异常的连接
- Java 动态写轮眼 SharinganJPanel (整理)
- php用json交换二维数组,PHP和Javascript的JSON交互(处理一个二维数组)
- 解惑小微企业信息化系统上云的顾虑
- ROS-SLAM仿真-hector
- echarts 柱状图颜色_echarts的实战案例一些(二)
- mysql master status_show master status为空解决办法
- 常用Feed流架构实现
- apt-get update出现404 Not Found
- CAD迷你看图v4.4.3 for Mac 小巧而全面的CAD看图工具
- 酷派N900刷机教程
- gitlab安装注册记录——gitlab(一)
- 谷歌跟oracle_Google vs Oracle –判决临近,Oracle的知识产权案件步履蹒跚
- 关于单点登录的一点想法
- uni-app思维导图
- PhpSpreadsheet实现Excel操作
- 什么是Galil(加利尔)运动控制卡,它是用来干嘛的呢?galil开发文件dmc32.dll,动态链接库,API
- Java学习-集合类
- 【Optimizaition/x86】Intel CPU的CPUID指令获取的C实现
- 堆栈内存的分析以及作用域的详解