2015-03-01 2 views
6

Кто-нибудь смог импортировать список SharePoint в R в качестве фреймворка данных?Использование R для подключения к списку sharepoint

У меня есть два отдельных источника данных: один из списка SharePoint, а другой из базы данных, на которой я хочу выполнить анализ. Я могу подключиться к БД без каких-либо проблем, но не могу найти ничего для подключения к списку SharePoint.

Сервер SharePoint является 2007

+0

Можно ли привести пример? также можно импортировать свой список в нечто другое (например, xls, txt ...), а затем импортировать его в R –

+0

Привет @Memo, сам список - это просто онлайн-лист excel, который пользователи могут обновлять самостоятельно. В основном это форма обратной связи для других частей бизнеса для обновления одновременно на основе операций, которые происходят на земле. Я знаю, что его можно напрямую связать с листом с помощью доступа Ms или с SQL-сервером с небольшими трудностями, но я надеялся, что есть пакет, который позволил бы вам сделать это аналогично python, где он рассматривает список sharepoint как просто другую таблицу –

ответ

8

Я работаю на чтение SharePoint 2010 с использованием списков R на некоторое время теперь. В основном, я использую веб-службу SharePoint, чтобы возвращать результаты из списка, а затем использовать xmlToDataFrame для преобразования в dataframe.

URL <- "http://yoursharepointserver/_vti_bin/ListData.svc/yourlist"  
data = xmlParse(readLines(URL)) 

## get the individual list items  
items = getNodeSet(data, "//m:properties") 

## convert to a data frame 
df = xmlToDataFrame(items, stringsAsFactors = FALSE) 

Поскольку я использую веб-сервиса можно отфильтровать список, прежде чем я возвращать результаты, которые действительно полезны в преодолении ограничений веб SharePoint службы. Следующая ссылка весьма полезна ... http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx

2

Ответ Ли Мендосы может работать, если ListData.svc запущен и/или у вас есть административный доступ к серверу SharePoint.

Если это не так: может работать следующее. По крайней мере, это для меня в SharePoint 2010. Если есть лучший способ сделать это, когда ListData.svc нет, я бы хотел его услышать.

library(RCurl) 
library(XML) 
library(data.table) 
URL <- "http://<site>/_vti_bin/owssvr.dll?Cmd=Display&Query=*&XMLDATA=TRUE&List={GUID_OF_LIST}" 
rawData <- getURL(URL, userpwd = "username:password") 
# in real life prompt for user credentials, don't put in script 
xmlData <- xmlParse (rawData, options=HUGE, useInternalNodes=TRUE) 
dataList <- xmlToList(xmlRoot(xmlData)[["data"]]) 
# check the system return, on my SP2010 server the data block is 
# named rs:data so this works 
dataMatrix <- do.call(rbind,dataList) 
finalDataTable <- data.table(dataMatrix) 
+1

Я не могу получить эту часть 'getURL (URL, userpwd =" username: password ")' ... независимо от того, что я вложил, я получаю запрет на 403. Я попробовал ввести мои учетные данные в пару разных способов ... любые предложения? Когда вы вводите '', сколько информации должно быть включено после xxxx.sharepoint.com? –

Смежные вопросы