我有一个列表,例如mylist = c(&#34; A&#34;,&#34; B&#34;,&#34; C&#34;),我希望使用列表元素来提取R中数据帧的因子。< / p>
如果MyDataFrame有一个列名&#34; A&#34;,我可以将列/因子提取为MyDataFrame $ A.但是,
def parse(self, response):
final_list = []
item = WthItem()
item['ship'] = response.xpath('//*[@id="shipName1"]/text()').extract()
item['Itinerary'] = response.xpath('//*[@id="brochureName1"]/text()').extract()
item['Price'] = response.xpath('//*[@id="interiorPrice1"]/text()').extract()
item['PerNight'] = response.xpath('//*[@id="perNightinteriorPrice1"]/text()').extract()
final_list.append(item)
updated_list = []
for item in final_list:
for i in range(len(item['ship'])):
sub_item = {}
sub_item['entry'] = {}
sub_item['entry']['ship'] = [item['ship'][i]]
sub_item['entry']['Itinerary'] = [item['Itinerary'][i]]
sub_item['entry']['Price'] = [item['Price'][i]]
sub_item['entry']['PerNight'] = [item['PerNight'][i]]
updated_list.append(sub_item)
print sub_item
return updated_list
失败。起初我认为这是因为mycolumn [3]是&#34; A&#34;而我需要没有报价的A美元。但是,使用
MyDataFrame$mylist[1]
也失败了,大概是因为R查找字符串as.name(mylist [1])作为因子名称而不是处理函数(它给出的rror是&#34;尝试应用非函数&#34; ;设置x = as.name(mylist [1]),然后使用MyDataFrame $ x遇到同样的问题x不被视为变量。
有没有直接的方法来执行此操作,因为我需要遍历一长串列名称以调用感兴趣的因素。
答案 0 :(得分:2)
试试这个:而不是$
MyDataFrame[,mylist[1]]