使用O365 Python API下载和更新Sharepoint站点列表项目

问题描述 投票:0回答:1

请问有人知道如何使用 O365 Python API 下载和更新具有相应列名称和字段/值的 SharePoint 网站列表项目吗?

我正在使用Sharepoint python-o365包https://github.com/O365/python-o365/blob/ffcea65c82c2d03dac8fd756ebe050591b371305/O365/sharepoint.py

有 get_items() 方法,但它只返回列表对象和column_names以及相应的字段或值。我尝试了下面的代码,但它没有按预期工作

from O365.sharepoint import Sharepoint, Site

def get_list_items(self, list_name):
        target_site = self.site
        target_list = target_site.get_list_by_name(display_name=list_name)
        list_items = target_list.get_items()

        data = []
        columns = []  # Collect column names
        
        for item in list_items:
            item_data = {}  # Collect item data for each row
            
            for column_name, column_value in item.properties.items():
                if column_name not in columns:
                    columns.append(column_name)
                
                # Store column values in the item_data dictionary
                item_data[column_name] = column_value
            
            data.append(item_data)  # Append the item_data to the data list

        # Create a DataFrame using the collected data and columns
        df = pd.DataFrame(data, columns=columns)
        
        return df

我想将 SharePoint 站点列表下载到 pandas 数据框中?

python dataframe list sharepoint python-o365
1个回答
0
投票

spo_data = [self.target_list.items.paged(500).get().execute_query()中项目的item.properties] self.df = pd.DataFrame(spo_data)

这就是我正在使用的。列表理解以获得列表中的所有项目。我使用分页,因为 SPO 列表是分页的,并且只提取前 500 个项目。完成后,我从列表中创建 DataFrame。

© www.soinside.com 2019 - 2024. All rights reserved.