我只想读取位于 Onedrive 365 上的 Excel 文件。
我在网上阅读了很多资源,但没有任何效果!!!
我的实际代码是
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.file import File
url = 'https://yoursharepointsite.com/sites/documentsite'
username = 'yourusername'
password = 'yourpassword'
relative_url = '/sites/documentsite/Documents/filename.xlsx'
import io
import pandas as pd
response = File.open_binary(ctx, relative_url)
#save data to BytesIO stream
bytes_file_obj = io.BytesIO()
bytes_file_obj.write(response.content)
bytes_file_obj.seek(0) #set file object to start
#read file into pandas dataframe
df = pd.read_excel(bytes_file_obj)
我有以下错误
out>>> ModuleNotFoundError: No module named 'web'
你有什么想法吗?
您需要先进行身份验证,然后使用连接器返回文件:
from office365.runtime.auth.user_credential import UserCredential
from office365.sharepoint.client_context import ClientContext
site_url = "https://yoursharepointsite.com" + f"/sites/{documentsite}/"
ctx = ClientContext(site_url).with_credentials(
UserCredential(username, password=password))
ctx.load(ctx.web)
ctx.execute_query()
from office365.sharepoint.files import file
import io
file_url = file_dl if dynamic else f'/sites/{documentsite}/{file_dl}'
response = file.File.open_binary(ctx, file_url)
bytes_file_obj = io.BytesIO()
bytes_file_obj.write(response.content)
bytes_file_obj.seek(0)
return bytes_file_obj