Доступ к файлу Excel в SharePoint с использованием Python для Ingest в SQL Server с использованием DataFrame - Доступ быPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Доступ к файлу Excel в SharePoint с использованием Python для Ingest в SQL Server с использованием DataFrame - Доступ бы

Сообщение Anonymous »

В настоящее время у меня есть файл .env, который содержит учетные данные для входа в систему SQL и учетные данные для входа в систему SharePoint. политики. Политика доступа не разрешает выдачу токена. < /P>
< /blockquote>
from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from sqlalchemy import create_engine
import pandas as pd
from io import BytesIO
import os
from dotenv import load_dotenv

# Load environment variables from .env file
load_dotenv()

# SharePoint credentials & file path
SHAREPOINT_SITE = os.getenv("SHAREPOINT_SITE")
SHAREPOINT_USERNAME = os.getenv("SHAREPOINT_USERNAME")
SHAREPOINT_PASSWORD = os.getenv("SHAREPOINT_PASSWORD")
SHAREPOINT_FILE_URL = os.getenv("SHAREPOINT_FILE_URL") # Must be a server-relative path

# SQL Server connection details
SQL_SERVER = os.getenv("SQL_SERVER")
SQL_DATABASE = os.getenv("SQL_DATABASE")
SQL_USERNAME = os.getenv("SQL_USERNAME")
SQL_PASSWORD = os.getenv("SQL_PASSWORD")
SQL_DRIVER = os.getenv("SQL_DRIVER") # e.g., "ODBC Driver 17 for SQL Server"
TABLE_NAME = os.getenv("TABLE_NAME")

# Step 1: Authenticate to SharePoint
ctx_auth = AuthenticationContext(SHAREPOINT_SITE)
if not ctx_auth.acquire_token_for_user(SHAREPOINT_USERNAME, SHAREPOINT_PASSWORD):
raise Exception("SharePoint authentication failed")

# Step 2: Download Excel file to memory
ctx = ClientContext(SHAREPOINT_SITE, ctx_auth)
file_obj = BytesIO()

# Get the file from SharePoint using the server-relative URL
ctx.web.get_file_by_server_relative_url(SHAREPOINT_FILE_URL).download(file_obj).execute_query()

# Step 3: Load the Excel file into a pandas DataFrame
file_obj.seek(0) # Reset the pointer back to the beginning of the file
df = pd.read_excel(file_obj)

# Step 4: Connect to SQL Server and insert data
connection_string = f"mssql+pyodbc://{SQL_USERNAME}:{SQL_PASSWORD}@{SQL_SERVER}/{SQL_DATABASE}?driver={SQL_DRIVER}"
engine = create_engine(connection_string)

# Write the data to SQL Server (replace table or append)
df.to_sql(TABLE_NAME, con=engine, if_exists="replace", index=False)

print(f"Data from {SHAREPOINT_FILE_URL} has been successfully uploaded to {TABLE_NAME} in SQL Server.")
< /code>
Я поговорил с нашей командой по инфраструктуре, думая, что это может быть связано с блокированием MFA в SharePoint, однако я использую свои учетные данные и в офисе, поэтому нет запроса MFA /2FA. На этот вопрос нет ответа, в сообщении предполагается, что не используют пользовательские учетные данные, однако предполагает, что это не работает ни в одном.
Любая помощь будет оценена.

Подробнее здесь: https://stackoverflow.com/questions/796 ... er-using-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Доступ к Office365 SharePoint Rest Endpoints с использованием Python (Office365 SharePoint Rest для Python)
    Anonymous » » в форуме Python
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Доступ к Office365 SharePoint Rest Endpoints с использованием Python (Office365 SharePoint Rest для Python)
    Anonymous » » в форуме Python
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous
  • Доступ к Office365 SharePoint Rest Endpoints с использованием Python (Office365 SharePoint Rest для Python)
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Невозможно импортировать azure.kusto.ingest
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Невозможно импортировать azure.kusto.ingest
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»