python keyerror
Traceback (most recent call last):
File "C:\Users\lenovo\Desktop\0.py", line 13, in <module>
input_data = input_data.sort_values(by = 'contract',ascending = 1)
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\frame.py", line 4719, in sort_values
k = self._get_label_or_level_values(by, axis=axis)
File "C:\Users\lenovo\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\generic.py", line 1706, in _get_label_or_level_values
raise KeyError(key)
KeyError: 'contract'
# -*- coding: gbk -*-
import pandas as pd
input_data = pd.read_csv('C:\\Users\\lenovo\\Desktop\\overall\\ru2017overall.csv',sep = '\t',engine='python')
usecols = ['tradedate','contract','closingprice-1','closingprice','highestprice','lowestprice','askPrice','bidPrice']
parse_dates = (['contract'])
pd.set_option('expand_frame_repr', False)
input_data = input_data.sort_values(by = 'contract',ascending = 1)
malist = [3,7]
for ma in malist:
input_data['MA_' + str(ma)] = input_data['closingprice'].rolling(ma).mean()
input_data.to_csv('C:\\Users\\lenovo\\Desktop\\2017rupro\\ma.csv',encoding='gbk',index=False,sep=None)
file = open('C:\\Users\\lenovo\\Desktop\\2017rupro\\feedback.csv', 'w')
for line in open('C:\\Users\\lenovo\\Desktop\\2017rupro\\ma.csv', 'r'):
if line.startswith('tradedate'):
continue
bidPrice = int(line.split(',')[8])
askPrice = int(line.split(',')[7])
if bidPrice == 0 or askPrice == 0:
continue
ma3 = str(line.split(',')[9])
ma7 = str(line.split(',')[10])
if ma3 > ma7:
file.writelines( 'Buy, 20, ' + str(bidPrice)+"\n")
elif ma3 < ma7:
file.writelines( 'Sell, 20, ' + str(askPrice)+"\n")
else:
file.writelines( 'Wait, 00, ' + str(askPrice)+"\n")
file.close()
相关推荐
python Manager 之dict KeyError问题的解决
今天小编就为大家分享一篇python Manager 之dict KeyError问题的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
Python操作dict时避免出现KeyError的几种解决方法
主要介绍了Python操作dict时避免出现KeyError的几种解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Python KeyError详解[项目源码]
本文深入探讨了Python中KeyError异常的各个方面,包括其定义、触发原因、诊断方法、处理策略以及性能优化技巧。KeyError通常在访问字典中不存在的键时触发,可能导致程序中断。文章详细介绍了如何使用try/except块、get()方法和防御性编程来避免和处理KeyError,同时提供了日志记录、代码审查和调试工具的使用建议。此外,还讨论了如何通过数据验证、默认字典和预加载数据来减少错误发生频率,并优化错误处理效率。最后,文章总结了进一步学习Python异常处理和字典操作的建议,并提供了相关资源链接。
Python KeyError解决[项目源码]
本文介绍了Python中遇到KeyError错误的解决方法。当使用字典时,若查找的键不存在,会引发KeyError。通过示例代码展示了如何正确访问字典中的键值,以及如何使用get()方法避免此错误。get()方法允许指定一个默认值,当键不存在时返回该默认值,从而避免程序中断。这种方法简单有效,适用于需要安全访问字典的场景。
Python KeyError解决[源码]
文章详细介绍了在使用Python读取xlsx数据时遇到的KeyError: “[‘...’] not in index”报错问题及其解决方法。作者指出该错误通常是由于索引或列名错误、数据缺失或数据类型问题导致的,并提供了具体的检查方法,如使用df.columns或df.index验证列名,以及通过df.isnull().sum()检查缺失数据。文章还分享了通过重置索引(df.reindex(columns=columns))来解决该问题的实际代码示例,包括完整的源码和操作步骤,帮助读者快速定位并解决类似问题。



