2015-03-01 17 views
6

Czy ktoś był w stanie zaimportować listę programu SharePoint w R jako ramkę danych?Używanie R do łączenia się z listą sharepointów

Mam dwa oddzielne źródła danych, jeden z listy programu SharePoint i drugi z bazy danych, na którym chcę przeprowadzić analizę. Jestem w stanie połączyć się z bazą danych bez żadnego problemu, ale nie mogę znaleźć niczego, aby połączyć się z listą programu SharePoint.

Serwer SharePoint jest 2007

+0

Czy można podać przykład? możliwe jest również zaimportowanie listy do czegoś innego (np. xls, txt ...), a następnie zaimportowanie jej do R –

+0

Hi @Memo, sama lista jest w zasadzie tylko arkuszem Excela, który użytkownicy mogą aktualizować samodzielnie. Zasadniczo jest to formularz zwrotny dla innych części przedsiębiorstwa, aby zaktualizować jednocześnie na podstawie operacji, które występują w terenie. Wiem, że możliwe jest bezpośrednie połączenie z arkuszem przy użyciu dostępu Ms lub z serwerem SQL z niewielkimi trudnościami, ale miałem nadzieję, że był pakiet, który pozwolił ci zrobić to w podobny sposób do pythona, gdzie traktuje listę Sharepoint jako kolejną tabelę –

Odpowiedz

8

pracuję na czytanie list SharePoint 2010 przy użyciu R na chwilę teraz. Zasadniczo używam usługi sieci Web programu SharePoint do zwracania wyników z listy, a następnie użyj xmlToDataFrame do konwersji na ramkę danych.

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) 

Ponieważ używam usługi internetowej można filtrować listę zanim zwróci wyniki, co jest bardzo pomocne w przezwyciężaniu ograniczeń usługi SharePoint internetowej. Poniższy link jest bardzo pomocny ... http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2010/01/21/introduction-to-querying-lists-with-rest-and-listdata-svc-in-sharepoint-2010.aspx

2

Odpowiedź Lee Mendozy może działać, jeśli ListData.svc działa i/lub masz dostęp administracyjny do serwera SharePoint.

Jeśli obie te informacje nie są prawdziwe: poniższe czynności mogą działać. Przynajmniej jest to dla mnie na SharePoint 2010. Jeśli jest lepszy sposób, aby to zrobić, gdy ListData.svc nie jest obecny, chciałbym go usłyszeć.

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

Nie mogę uzyskać tej części 'getURL (URL, userpwd =" nazwa_użytkownika: hasło ")' ... bez względu na to, co wstawiam, dostaję zakaz 403. Próbowałem wprowadzać moje poświadczenia na kilka różnych sposobów ... Jakieś sugestie? Kiedy wstawisz '', ile informacji powinno być zawartych po xxxx.sharepoint.com? –

Powiązane problemy