王的机器
盘一盘python系列
Matplotlab
使用pdb debug
写了数据格式转换函数
def data_converter( price_data, code, asset ):
# convert raw data to datafram
if asset =='FX':
# what's FX
code = str(code[3:] if code[:3]=='USD' else code) + '=X'
columns = [ 'open', 'close', 'low', 'high' ]
price_dict = price_data[code]['prices']
index = [ p['formatted_date'] for p in price_dict ]
price = [ [p[c] for c in columns] for p in price_dict ]
data = pd.DataFrame( price,
index=pd.Index(index, name='date'),
columns=pd.Index(columns, name='OHLC')
)
return data
之后运行:
NVDA = data_converter( stock_daily, 'NVDA', 'EQ' )
NVDA.head(3).append(NVDA.tail(3))
报错:

之后使用pdb进行debug

一直没有读懂这是什么意思,难道是运行了这个 if 之后就直接return了?不应该呀。在pycharm中进行了debug,确定是运行了这一句之后就直接跳出来了。对照原来的代码,是缩进的问题。

本文介绍了在Python编程中遇到的一个错误,通过使用pdb进行debug来定位问题。在分析数据格式转换函数时,发现代码由于缩进问题导致程序在特定条件满足后提前返回,而非预期执行。通过PyCharm的调试功能进一步确认了问题所在,并成功解决了问题。
546

被折叠的 条评论
为什么被折叠?



