python - Python - 如何阅读 Sharepoint excel 工作表特定工作表
问题描述
在 Python 中,我使用Office 365 REST Python 客户端库来访问和阅读包含许多工作表的 Excel 工作簿。
虽然身份验证成功,但我无法将工作表名称的正确路径附加到文件名,以便按名称访问第一个或第二个工作表,这就是为什么工作表的输出不是 JSON而是 IO Bytes 的原因我的代码无法处理。
我的最终目标是通过名称“employee_list”简单地访问特定工作表并将其转换为 JSON 或 Pandas 数据框以供进一步使用。
下面的代码片段 -
import io
import json
import pandas as pd
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.runtime.auth.user_credential import UserCredential
from office365.runtime.http.request_options import RequestOptions
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.files.file import File
from io import BytesIO
username = 'abc@a.com'
password = 'abcd'
site_url = 'https://sample.sharepoint.com/sites/SAMPLE/_layouts/15/Doc.aspx?OR=teams&action=edit&sourcedoc={739271873}'
# HOW TO ACCESS WORKSHEET BY ITS NAME IN ABOVE LINE
ctx = ClientContext(site_url).with_credentials(UserCredential(username, password))
request = RequestOptions("{0}/_api/web/".format(site_url))
response = ctx.execute_request_direct(request)
json_data = json.loads(response.content) # ERROR ENCOUNTERED JSON DECODE ERROR SINCE DATA IS IN BYTES
解决方案
您可以通过工作表索引访问它,检查以下代码....
import xlrd
loc = ("File location")
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
# For row 0 and column 0
print(sheet.cell_value(1, 0))
推荐阅读
- crash - iOS 13 TTS 崩溃 - 无法找到资源 `lang'[kLanguage] - (AVSpeechSynthesisVoice, AVSpeechUtterance)
- c - 将用户输入作为历史记录返回列表
- javascript - Mongodb $and 运算符无法按预期工作
- php - 类 Illuminate\Routing\Redirector 的对象无法转换为 int laravel
- python - 如何在unittest中自动生成测试用例编号?
- python - 使用 Python 转换复杂的平面文件
- javascript - 在java脚本中硬编码,一些减少此代码的建议表示赞赏
- php - 如何将具有相同结束时间的数组与下一个数组开始时间合并
- visual-studio-code - 编辑看起来不一样的多行
- ms-word - 如何检索在 webaddin 的内容控件中输入的数据