将 Sharepoint 列表转换为 Pandas 数据框
Posted
技术标签:
【中文标题】将 Sharepoint 列表转换为 Pandas 数据框【英文标题】:Convert Sharepoint List into Pandas Dataframe 【发布时间】:2021-01-22 15:12:26 【问题描述】:我在 Sharepoint 中有一个表,我想将其转换为 Pandas 数据框。我主要使用这个问题来尝试制定解决方案Get SharePoint List with Python。但是我遇到了问题。
这是我目前所拥有的......
import pandas as pd
from shareplum import Site
from requests_ntlm import HttpNtlmAuth
url = 'https://share.corporation.com/sites/group/subgroup/'
username = 'username'
password = 'password'
cred = HttpNtlmAuth(username, password)
site = Site(url, auth=cred, verify_ssl=False)
到目前为止,我可以运行代码而不会引发错误。但是,当我运行这个位时:
sp_list = site.List('Q22020') # this creates SharePlum object
ShareplumRequestError: Shareplum HTTP Post Failed : 500 Server Error: Internal Server Error for url: https://share.corporation.com/sites/group/subgroup/_vti_bin/lists.asmx
我实际上并不完全确定我的site.List('Q22020')
是否正确。
但是,请按照此视频中的说明进行操作:https://www.youtube.com/watch?v=dvFbVPDQYyk
当我在浏览器中手动输入以下 url 时,它确实会生成一个 xml 文件,所以我相信它是正确的:https://share.corporation.com/sites/group/subgroup/_vti_bin/ListData.svc/Q22020
【问题讨论】:
【参考方案1】:尝试: https://share.corporation.com/sites/group/subgroup/Lists/Q22020/_vti_bin/lists.asmx
如果没有,请转到网络上的列表,并在查看“Q22020”列表视图后查看 URL。您的“url”参数可能不正确。
【讨论】:
当我手动添加该 url(带有我的特定数据)时,它会将我带到一个包含列表操作列表的页面。当我使用 url 运行脚本时,它再次出错,但我非常感谢您的帮助。【参考方案2】:我遇到了同样的问题,并遵循从 URL 获取列表名称的相同逻辑。但是,我发现列表名称中实际上有一个空格,尽管 URL 没有显示它。添加空格解决了这个问题。
使用您的示例,如果 URL 是 https://share.corporation.com/sites/group/subgroup/_vti_bin/ListData.svc/Q22020
但名单实际上是
'Q2 2020'
那么您将代码更改为:
sp_list = site.List('Q2 2020')
【讨论】:
感谢您的贡献。不幸的是,我试过了,但恐怕我仍然遇到同样的错误。仍然是一个谜......以上是关于将 Sharepoint 列表转换为 Pandas 数据框的主要内容,如果未能解决你的问题,请参考以下文章