【问题标题】:Retrieving list of .xlsx files from Sharepoint folder with python使用python从Sharepoint文件夹中检索.xlsx文件列表
【发布时间】:2021-06-08 13:54:14
【问题描述】:

大家下午好!

由于我们公司在 Sharepoint 上有多个包含大量 .xlsx 和 .xlsb 文件的文件夹,我现在正在尝试编写一个脚本来自动从那里检索这些文件的列表,并将它们保存在本地或读取它们直接进入 pandas 数据框。

文件夹结构如下:

https://company.sharepoint.com/sites/ProjectSite/Shared Documents/General/Year1

总共有几个年份文件夹(Year1、Year2、Year3 等),其中放置了所有 .xlsx 文件。

我尝试了以下代码(使用文件夹的相对 URL):

ctx_auth = AuthenticationContext(FULL_URL)
ctx_auth.acquire_token_for_user(USERNAME, PASSWORD)
ctx = ClientContext(SITE_URL, ctx_auth)
lists = ctx.web.get_folder_by_server_relative_url("Shared Documents/General/2019/")
items = lists.folders

ctx.load(items)
ctx.execute_query()

for item in items:
    print(items)
    print("File name: {0}".format(item.properties["Name"]))

FULL_URL 是带有年份文件夹完整路径的 URL:"https://company.sharepoint.com/sites/ProjectSite/Shared%20Documents/General/Year1/"

SITE_URL:

"https://company.sharepoint.com/sites/ProjectSite/"

但是当我执行代码时,什么都没有发生,实际上什么也没有。我假设我在路径/url 上弄错了,很可能是指错误的 URL,但我真的不知道如何更正或哪个是正确的。

问题: 上面的代码需要修改多少才能列出文件夹 Year1、Year2、Year3 等中的文件,以便我可以阅读列表以及保存或进一步处理它们?

【问题讨论】:

    标签: python python-3.x rest sharepoint


    【解决方案1】:

    编辑:看来,我瞎到看不见,我正在尝试加载文件夹而不是文件,所以在我将代码修改为:

    ctx_auth = AuthenticationContext(FULL_URL)
    ctx_auth.acquire_token_for_user(USERNAME, PASSWORD)
    ctx = ClientContext(SITE_URL, ctx_auth)
    lists = ctx.web.get_folder_by_server_relative_url("Shared Documents/General/2019/")
    items = lists.files
    
    ctx.load(items)
    ctx.execute_query()
    
    for item in items:
        print(items)
        print("File name: {0}".format(item.properties["Name"]))
    

    文件被打印出来。

    【讨论】:

      猜你喜欢
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多