پرش به محتوای اصلی
دانشگاه هوش مصنوعی — Daneshgah AI
برنامه‌نویسی و اتوماسیونخروجی: متنسطح: پیشرفته

پرامپت ساخت اسکریپت پایتون برای ارسال ایمیل گزارش خودکار

با این پرامپت، درخواست ساخت اسکریپت پایتون برای تهیه و ارسال گزارش خودکار ایمیلی با فرمت دلخواه (مثلاً PDF یا Excel) بدهید.

import pandas as pd import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages import smtplib from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders from email.mime.text import MIMEText from datetime import datetime, timedelta import os import traceback import schedule import time # Configuration CSV_FILE = 'sales_data.csv' PDF_REPORT = 'weekly_sales_report.pdf' RECIPIENTS = ['recipient1@example.com', 'recipient2@example.com'] SENDER = 'your_email@example.com' SENDER_PASSWORD = 'your_app_password' SMTP_SERVER = 'smtp.gmail.com' SMTP_PORT = 587 # Function to generate the report PDF def generate_report(csv_file, pdf_file): try: # Load CSV df = pd.read_csv(csv_file, parse_dates=['date']) # Filter for last week's data today = datetime.now().date() last_monday = today - timedelta(days=today.weekday()+7) last_sunday = last_monday + timedelta(days=6) df_week = df[(df['date'] >= pd.Timestamp(last_monday)) & (df['date'] <= pd.Timestamp(last_sunday))] # Compute sales summary total_sales = df_week['sales'].sum() sales_by_product = df_week.groupby('product')['sales'].sum() # Create PDF with plots with PdfPages(pdf_file) as pdf: plt.figure(figsize=(8,6)) sales_by_product.plot(kind='bar') plt.title('Weekly Sales by Product') plt.ylabel('Sales') plt.tight_layout() pdf.savefig() plt.close() plt.figure(figsize=(6,4)) plt.axis('off') plt.text(0, 0.5, f"Total sales this week: ${total_sales:,.2f}", fontsize=14) pdf.savefig() plt.close() except Exception as e: print('Error generating report:', e) traceback.print_exc() # Function to send email with attachment def send_email(subject, body, recipients, attachment): try: msg = MIMEMultipart() msg['From'] = SENDER msg['To'] = ', '.join(recipients) msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) with open(attachment, 'rb') as f: part = MIMEBase('application', 'octet-stream') part.set_payload(f.read()) encoders.encode_base64(part) part.add_header('Content-Disposition', f'attachment; filename="{os.path.basename(attachment)}"') msg.attach(part) with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server: server.starttls() server.login(SENDER, SENDER_PASSWORD) server.send_message(msg) print('Email sent successfully!') except Exception as e: print('Error sending email:', e) traceback.print_exc() def job(): generate_report(CSV_FILE, PDF_REPORT) subject = 'Weekly Sales Report' body = 'This is your weekly sales report.' send_email(subject, body, RECIPIENTS, PDF_REPORT) if os.path.exists(PDF_REPORT): os.remove(PDF_REPORT) # Schedule for every Monday at 9am schedule.every().monday.at('09:00').do(job) if __name__ == '__main__': print('Scheduler started. Waiting for Monday 9:00am...') while True: schedule.run_pending() time.sleep(60) # Check every minute

نمونه خروجی همین پرامپت — ساخته‌شده با ChatGPT (gpt-4.1). نتیجه‌ی شما با ابزار و تنظیمات دیگر می‌تواند متفاوت باشد.

متن پرامپت

You are a Python developer.
Your task: Write a Python script that automatically generates a #report_type from a #data_source, saves it as a #format file, and sends it as an email attachment to #recipients on #schedule. Requirements: Use pandas for data processing, libraries such as matplotlib (if needed), and smtplib for email automation. Include error handling and clear comments. Output format: a single clean Python script.
نسخه‌ی پرشده که نمونه‌ی بالا با آن ساخته شد
You are a Python developer.
Your task: Write a Python script that automatically generates a weekly sales report from a CSV file, saves it as a PDF, and sends it as an email attachment to a list of recipients every Monday at 9am. Requirements: Use pandas for data processing, matplotlib for charts, and smtplib for email. The code should include error handling and comments. Output format: single clean Python script.

پرامپت را برای خودتان پر کنید

جاهای خالی را به فارسی پر کنید؛ پرامپت آماده‌ی کپی پایین ساخته می‌شود.

ویژه‌ی VIP: همین پرامپت را در خود سایت اجرا کنید و جواب کامل را به فارسی بگیرید. ورود به حساب

کاربرد پرامپت

این پرامپت به شما کمک می‌کند یک اسکریپت کامل پایتون برای تهیه‌ی خودکار گزارش و ارسال آن به ایمیل افراد مربوطه بسازید؛ مثلاً گزارشی از فروش، فعالیت یا هر داده‌ای را از منبعی مثل CSV یا پایگاه‌داده جمع‌آوری و خلاصه کند، فرمت مورد نظرتان (PDF، اکسل یا...) را بسازد و در زمان مقرر به صورت پیوست ایمیل کند. با این روش، فرآیند گزارش‌دهی و اطلاع‌رسانی هفتگی یا روزانه، به سادگی و بدون دخالت شما انجام می‌شود.

مزایا

  • صرفه‌جویی چشمگیر در زمان و حذف کار تکراری
  • نمونه‌سازی و شخصی‌سازی طبق نیاز شما (نوع داده، قالب گزارش، زمان‌بندی)
  • قابل ویرایش و ارتقاء برای آینده یا بخش‌های مختلف شرکت و پروژه‌ها
  • بهبود دقت اطلاع‌رسانی و کاهش خطاها در ارسال گزارش

مخاطبان هدف

  • کارشناسان فروش، مالی، منابع انسانی و مدیران پروژه
  • استارتاپ‌ها و شرکت‌های کوچک تا متوسط برای اتوماسیون روزمره
  • فریلنسرها و طراحان دیتابیس/اتوماسیون
  • افرادی که سیستم گزارش‌دهی دوره‌ای و اتوماتیک می‌خواهند

نحوه استفاده

  • #report_type: نوع گزارشی که می‌خواهید تهیه و ارسال شود (مثل sales report, attendance report, project summary)
  • #data_source: منبع داده (CSV، Excel، دیتابیس، Google Sheets...)
  • #format: فرمت خروجی گزارش (PDF، Excel، text...)
  • #recipients: ایمیل دریافت‌کنندگان گزارش
  • #schedule: زمان‌بندی اتوماسیون (مثلاً هر دوشنبه ۹ صبح)
  • مثال‌ها:
  • sales report — گزارش فروش،
  • attendance report — گزارش حضور و غیاب،
  • CSV file — فایل CSV،
  • Excel file — فایل اکسل،
  • PDF — پی‌دی‌اف،
  • every Friday at 5pm — هر جمعه ساعت ۵ عصر

در ابزارهایی مانند Google Gemini یا ChatGPT، متن پرامپت را با اطلاعات دقیق خود کامل کنید. برای المنت schedule در Flow انتخاب لازم نیست.

نکته‌های حرفه‌ای

  • توصیه می‌شود قالب ایمیل و متن گزارش را برای دریافت بازخوردهای بهتر به زبان ساده و رسمی تنظیم کنید.
  • با افزودن هشدار یا خلاصه نتایج به متن ایمیل، نرخ توجه و باز شدن را بالا ببرید.
  • اگر امنیت یا دسترسی SMTP مهم است، درخواست رمزنگاری یا اتصال به APIهای امن را نیز اضافه کنید.

پرسش‌های متداول درباره این ویدیو

ChatGPT و Gemini برای دریافت و بهبود کد مناسب‌ترین گزینه‌ها هستند.

پرامپت‌های مشابه