Автоматизируйте отправку CSV-файла в SharepointPython

Программы на Python
Ответить
Anonymous
 Автоматизируйте отправку CSV-файла в Sharepoint

Сообщение Anonymous »

Мы создали код Python для запроса базы данных и переноса данных в файл CSV. Мой вопрос: как и как лучше всего автоматизировать отправку в Sharepoint? Я новичок в этой области и хотел сделать что-нибудь классное по автоматизации; Инструментов, использованных в коде, достаточно для этого? Что-то не так с этим подходом?
import pandas as pd
import os
from datetime import datetime, timedelta
from Executers.select import Selects
from office365.runtime.auth.client_credential import ClientCredential
from office365.sharepoint.client_context import ClientContext

def upload_to_sharepoint(file_path, sharepoint_url, sharepoint_folder, client_id, client_secret):
# SharePoint authentication
credentials = ClientCredential(client_id, client_secret)
ctx = ClientContext(sharepoint_url).with_credentials(credentials)

# Path and file name
with open(file_path, 'rb') as file:
target_folder = ctx.web.get_folder_by_server_relative_url(sharepoint_folder)
target_file = target_folder.upload_file(os.path.basename(file_path), file)
ctx.execute_query()
print(f"File '{file_path}' successfully uploaded to SharePoint.")

def main():
# CSV file path
output_path = 'path/to/save/csv'
os.makedirs(output_path, exist_ok=True)
csv_file = os.path.join(output_path, 'annual_result.csv')

# Parameters for SQL query (last 24 hours)
yesterday = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d %H:%M:%S')
now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')

# SQL query for the last 24 hours 24 hours
selects = Selects()
script = f""" SELECT ................... (not allowed to display)
"""

# Execute the query and receive new data
df_new = selects.execute_query(script)

# Check if the CSV already exists to accumulate data
if os.path.exists(csv_file):
df_existing = pd.read_csv(csv_file)
df_updated = pd.concat([df_existing, df_new]).drop_duplicates().reset_index(drop=True)
else:
df_updated = df_new

# Save the updated DataFrame in the CSV
df_updated.to_csv(csv_file, index=False)
print(f"CSV updated and saved in {csv_file}")

# Parameters for connection and SharePoint folder
sharepoint_url = "https://suaconta.sharepoint.com/sites/seusite"
sharepoint_folder = "/sites/yoursite/Documentos%20Shared/your_folder"
client_id = "your_client_id"
client_secret = "your_client_secret"

# Upload to SharePoint
upload_to_sharepoint(csv_file, sharepoint_url, sharepoint_folder, client_id, client_secret)

if __name__ == "__main__":
main()


Подробнее здесь: https://stackoverflow.com/questions/792 ... sharepoint
Ответить

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

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

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

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

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