You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python访问Microsoft SharePoint中Excel文件的方法咨询

使用Python读取SharePoint共享Excel文件为Pandas DataFrame完整步骤

1. 前置依赖安装

首先安装操作所需的第三方库:

pip install office365-rest-python-client pandas openpyxl

2. 提前准备必要参数

操作前请确认以下信息:

  • 公司SharePoint站点地址:格式为https://<公司域名>.sharepoint.com/sites/<站点名称>,示例:https://contoso.sharepoint.com/sites/sales
  • 目标文件夹的相对站点路径:即从站点根目录到目标Excel文件夹的路径,示例:Shared Documents/2024年销售报表
  • 有权限访问该站点的企业账号用户名、密码(若账号未开启多因素认证可直接使用,开启MFA请参考后续特殊场景适配方案)

3. 完整实现代码

from office365.sharepoint.client_context import ClientContext
from office365.runtime.auth.user_credential import UserCredential
import pandas as pd
from io import BytesIO

# -------------------------- 替换为你自己的参数 --------------------------
SHAREPOINT_SITE_URL = "https://yourcompany.sharepoint.com/sites/your-site"
USERNAME = "your-work-email@company.com"
PASSWORD = "your-work-account-password"
TARGET_FOLDER_PATH = "Shared Documents/target-excel-folder"
# -----------------------------------------------------------------------

# 建立SharePoint连接
ctx = ClientContext(SHAREPOINT_SITE_URL).with_credentials(UserCredential(USERNAME, PASSWORD))

# 获取目标文件夹下的所有文件
folder = ctx.web.get_folder_by_server_relative_url(TARGET_FOLDER_PATH)
files = folder.files
ctx.load(files)
ctx.execute_query()

# 遍历文件,仅处理Excel格式文件,直接读取为DataFrame无需下载到本地
df_list = []
for file in files:
    if file.name.endswith(('.xlsx', '.xls')):
        # 读取文件内容到内存
        file_content = file.open_binary(ctx).content
        # 转换为DataFrame,可根据需求调整sheet_name、header等参数
        df = pd.read_excel(BytesIO(file_content), sheet_name=0, engine='openpyxl')
        # 可选:新增列标记数据来源文件
        df['source_file'] = file.name
        df_list.append(df)

# 合并所有Excel数据(无需合并可单独处理df_list内的单个DataFrame)
final_df = pd.concat(df_list, ignore_index=True)
print(final_df.head())

4. 特殊场景适配

  • 账号开启多因素认证(MFA):需先在Azure AD注册应用,授予对应SharePoint站点的访问权限,将认证方式替换为ClientCredential(client_id, client_secret)即可,后续文件读取逻辑无需修改
  • 读取单个指定Excel文件:可跳过文件夹遍历步骤,直接调用ctx.web.get_file_by_server_relative_url("文件完整相对路径")获取指定文件
  • 处理大体积Excel文件:可新增分块读取逻辑,避免内存占用过高

内容的提问来源于stack exchange,提问作者randunu galhena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 05:36:10