全,
我已经编写了一个python脚本来使用python-shareplum包从sharepoint列表中删除基于某些条件的行(请注意,我并不是要删除所有行)。
我的代码片段如下:
Begin_Date= pd.datetime(date.today().year, date.today().month, 1)
new_list = site.List('IRC Reporting (Tableau) - IRC PNL History Data')
fields = ['IRC Approval Date','Demand Region','Product Category']
query = {'Where': [('Eq', 'IRC Approval Date', Begin_Date)]}
dt = [row['IRC Approval Date'] for row in new_list.GetListItems(fields=fields,query=query)]
new_list.UpdateListItems(dt, 'Delete')
print(dev_ids)
脚本运行正常,但记录未从列表中删除。
欢迎您的参与!
发布于 2021-05-10 17:36:33
您可以通过将列表项ID传递给Shareplum中的UpdateListItems来删除列表项。如果您的列表小于或等于5000,则以下代码有效。
from shareplum import Office365,Site
from shareplum.site import Version
Begin_Date= pd.datetime(date.today().year, date.today().month, 1)
authcookie = Office365(server_url, username = Username,
password=Password).GetCookies()
site = Site(site_url, version=Version.v365, authcookie=authcookie)
sp_list = site.List('IRC Reporting (Tableau) - IRC PNL History Data')
fields=['ID']
query = {'Where': [('Eq', 'IRC Approval Date', Begin_Date)]}
sp_data =sp_list.GetListItems(fields=fields,query=query)
del_df=pd.DataFrame.from_dict(sp_data)
list_data = del_df['ID'].tolist()
sp_list.UpdateListItems(data=list_data,kind='Delete')
https://stackoverflow.com/questions/59920697
复制相似问题