簡體   English   中英

使用IronPython腳本從Sharepoint將xlsx或csv文件加載到Spotfire中

[英]Loading an xlsx or csv file from Sharepoint into Spotfire using IronPython script

如果我嘗試使用以下腳本加載數據,則將加載html代碼,而不是正確的數據。 給定的鏈接指向xlsx或csv文件的直接來源(如果您在瀏覽器中運行該鏈接,則xlsx或csv文件將自動開始下載)。 我很高興聽到為什么會發生這種情況以及如何解決這個問題。

import clr
clr.AddReference('System.Net')
from System.Net import HttpWebRequest, NetworkCredential
from Spotfire.Dxp.Data.Import import TextFileDataSource, TextDataReaderSettings

readerSettings = TextDataReaderSettings()
readerSettings.Separator = ";"
readerSettings.CultureName = "en-GB"

req = HttpWebRequest.Create("some link to xlsx file")

user_agent = 'individual user-agent'
req.UserAgent = user_agent
req.Method = "GET"

req.UseDefaultCredentials = True
#req.PreAuthenticate = True
user = Document.Properties["Username"]
password = Document.Properties["Password"]

req.Credentials = NetworkCredential(user, password)

rsp = req.GetResponse()
dSource = TextFileDataSource(rsp.GetResponseStream(),readerSettings)
rsp.Close()

dataManager = Document.Data
dataTable = dataManager.Tables[document.Name]
dataTable.ReplaceData(dSource)

返回的HTML的重要部分不是“ JavaScript被禁用”,而是“由於Javascript被禁用, 我們無法登錄 ”。 基於此,聽起來您的問題是您尚未正確驗證會話。

我將嘗試通過將此代碼加載到您選擇的Python IDE中進行驗證,並嘗試獨立於Spotfire進行嘗試。

訪問Sharepoint的正確方法很可能是通過Sharepoint API。 我對此沒有經驗,但是我敢肯定,通過谷歌搜索可以找到解決方案。 一旦有了使用Python的(免費的第三方庫!)解決方案,您就可以在沒有太多麻煩的情況下將其適應Spotfire。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM