将 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 数据框的主要内容,如果未能解决你的问题,请参考以下文章

将 pandas 列中的列表转换为字符串

将字典列表转换为 Pandas 数据框

将对象列表转换为 pandas 数据框

将pandas列中的列表列表转换为字符串

如何将 Pydantic BaseModels 列表转换为 Pandas Dataframe

将列表的部分转换为 Pandas 数据框