这很可能很容易纠正,不幸的是,我是python的新手,并且需要一些帮助。
我运行以下代码...
import eikon as ek
import pandas as pd
import xlwings as xw
ek.set_app_id("secretpasswordstring")
# In[2]:
isins = pd.read_excel(r'W:\L\BDTP\Products\FSA_DAC_Updates\DAC_TOOL.xlsm','ISIN_Equity',usecols='B').dropna()
rics, err = ek.get_data(isins['ISIN'].tolist(),['TR.PrimaryRic'])
rics = rics[rics['Primary Issue RIC']!='']
rics = rics[~rics['Primary Issue RIC'].str.contains('^',regex=False)]
riclist = rics['Primary Issue RIC'].tolist()
riclist
...将创建此错误消息:
runfile('W:/ L / BDTP / Products / FSA_DAC_Updates / percent change (1).py',wdir ='W:/ L / BDTP / Products / FSA_DAC_Updates')追溯(大多数 最近通话结束):
文件“”,第1行,在 runfile('W:/ L / BDTP / Products / FSA_DAC_Updates / percent change(1).py',wdir ='W:/ L / BDTP / Products / FSA_DAC_Updates')
文件 “ C:\ Python \ winpython_3_5_4_1_QT5 \ python-3.5.4.amd64 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”, 运行文件中的第710行 execfile(文件名,命名空间)
文件 “ C:\ Python \ winpython_3_5_4_1_QT5 \ python-3.5.4.amd64 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py”, 第101行,在execfile中 exec(compile(f.read(),文件名,'exec'),命名空间)
文件“ W:/ L / BDTP / Products / FSA_DAC_Updates /百分比变化 (1).py“,第18行,在 rics,err = ek.get_data(isins ['ISIN']。tolist(),['TR.PrimaryRic'])
文件 “ C:\ Python \ winpython_3_5_4_1_QT5 \ python-3.5.4.amd64 \ lib \ site-packages \ eikon \ data_grid.py”,get_data中的第125行 check_for_string_or_list_of_strings(instruments,'instruments')
文件 “ C:\ Python \ winpython_3_5_4_1_QT5 \ python-3.5.4.amd64 \ lib \ site-packages \ eikon \ tools.py”, 第57行,在check_for_string_or_list_of_strings中 引发ValueError('参数{0}中的所有项目均应为数据类型字符串,找到的{0}'。format(name,[type in v)in parameter in v])
ValueError:参数工具中的所有项目均应为数据 输入字符串,找到乐器
要解决此错误,我需要做什么?为什么会出现?我的印象是,由于我输入的所有数据都是字符串(12个字符的ISIN),所以我总是传递字符串。