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

遍历SharePoint返回的多个字典并将数据转换保存为DataFrame

SharePoint List返回字典转Pandas DataFrame实现方法

首先sp.get_items()返回的结果本身就是符合pandas输入要求的行字典列表,你可以直接生成DataFrame,也可以先过滤冗余元数据后生成更干净的业务数据表。

完整实现代码

import pandas as pd

def demo_list():
    print("**************\nList ...\n")
    items_dict = sp.get_items()

    # ===== 方案1:直接生成全字段DataFrame(保留所有系统元数据+业务字段)
    # df = pd.DataFrame(items_dict)
    # 可打印列名查看所有字段,按需筛选
    # print(df.columns.tolist())

    # ===== 方案2:清洗后生成仅含业务字段的DataFrame(更推荐)
    # 1. 定义你需要保留的业务字段,可根据实际需求调整
    need_cols = [
        'Id', 'Title', 'Modified', 'Created', 
        'Owner_x0020_Name', 'Application', 
        'Attribute', 'Total_x0020_User_x0020_Count'
    ]
    processed_rows = []
    for item in items_dict:
        # 2. 仅提取需要的字段,自动补全缺失字段为None
        row = {col: item.get(col) for col in need_cols}
        # 3. 替换SharePoint字段编码_x0020_(原义是空格)为下划线,提升可读性
        row = {k.replace('_x0020_', '_'): v for k, v in row.items()}
        processed_rows.append(row)
    # 4. 生成DataFrame
    df = pd.DataFrame(processed_rows)
    # 5. 可选:调整数值字段类型
    df['Total_User_Count'] = pd.to_numeric(df['Total_User_Count'], errors='coerce')

    return df

说明要点

  • 原始返回数据中带__metadata、__deferred的字段都是SharePoint系统元数据,无业务需求可直接过滤
  • 字段名中的_x0020_是SharePoint对空格的编码,替换后更便于后续数据处理
  • 数值类字段默认可能返回字符串格式,可通过pd.to_numeric转换为数值类型,方便后续统计计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:57:04