从Sharepoint文件夹中检索.xlsx文件列表与Python

rkkpypqq  于 2023-10-21  发布在  Python
关注(0)|答案(1)|浏览(125)

大家下午好!
由于我们公司在Sharepoint上有几个文件夹,其中包含相当多的.xlsx和.xlsb文件,因此我现在正在尝试编写一个脚本,以自动从那里检索这些文件的列表,并将它们保存在本地或直接读取到pandas文件夹中。

文件夹结构如下:

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

总共有几个Year文件夹(Year 1,Year 2,Year 3等),其中放置了所有.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是指向Year文件夹的完整路径的URL:"https://company.sharepoint.com/sites/ProjectSite/Shared%20Documents/General/Year1/"
网站_URL:

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

但是当我执行代码时,什么也没发生,真的什么都没有。我假设,我得到了smth错误的路径/网址,最有可能是指虚假的URL,但我真的不知道,如何纠正或哪一个是正确的。

**问题:**为了列出文件夹Year 1、Year 2、Year 3等中的文件,需要在多大程度上修改上述代码,以便我可以阅读列表并保存或进一步处理它们?

dgtucam1

dgtucam11#

编辑:似乎,我是盲目的,没有看到,我试图加载文件夹,而不是文件,所以在我修改代码:

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"]))

文件就会被打印出来

相关问题