Автоматизируем задачи на Python с помощью ChatGPT
@data_analysis_ml - анализ данных на Python.ChatGPT — чат-бот на базе ИИ от OpenAI, который специализируется на диалогах. Мы можем сделать ChatGPT своим помощником — и не только в написании кода!
Вот несколько упорядоченных по сложности задач, которые я предложил выполнить ChatGPT (и получил впечатляющие результаты).
Задача #1. Построить линейную регрессию
Чтобы построить график линейной регрессии, достаточно просто сказать ChatGPT:
PLOT A LINEAR REGRESSION WITH PYTHON USING MATPLOTLIB (ПОСТРОЙ ГРАФИК ЛИНЕЙНОЙ РЕГРЕССИИ С ПОМОЩЬЮ PYTHON И MATPLOTLIB).
Если не указать конкретную библиотеку, ChatGPT выберет ее сам.
Вот код Python, созданный ChatGPT (с комментариями!):
import matplotlib.pyplot as plt import numpy as np # Сгенерировать случайные данные x = np.random.rand(100) y = x + np.random.normal(0, 0.1, size=100) # Подогнать линейную регрессию под данные m, b = np.polyfit(x, y, 1) # Построить график данных и подобранную линию plt.plot(x, y, 'o') plt.plot(x, m*x + b, '-') plt.show()
А вот результат:
Это было легко. Теперь попробуем что-нибудь посложнее.
Задача #2. Отправить сообщение на WhatsApp с помощью pywhatkit
Сможет ли ChatGPT помочь со сторонними библиотеками, такими как pywhatkit? Эта библиотека позволяет отправлять сообщения с помощью Whatsapp.
SEND A MESSAGE ON WHATSAPP USING PYTHON AND PYWHATKIT (ОТПРАВЬ СООБЩЕНИЕ НА WHATSAPP С ПОМОЩЬЮ PYTHON И PYWHATKIT).
При выполнении этой задачи я не стал сообщать ChatGPT свой номер телефона и сообщение, которое хотел отправить (нечто подобное я сделал для задачи №3).
Вот код Python, созданный ChatGPT:
import pywhatkit # Установите время в 24-часовом формате (ЧЧ:ММ:СС), когда нужно отправить сообщение time = "HH:MM:SS" # Установите номер телефона, на который хотите отправить сообщение phone_number = "1234567890" # Напишите сообщение, которое хотите отправить message = "Your message goes here" # Используйте метод sendwhatmsg для отправки сообщения в указанное время pywhatkit.sendwhatmsg(time, phone_number, message)
В дополнение к этому коду, сгенерированному ChatGPT, у вас должна быть открыта сессия WhatsApp в браузере и установлена библиотека pywhatkit.
Задача #3. Отправить электронное письмо с помощью Python
В интернете есть множество фрагментов кода, которые показывают, как отправить электронное письмо с использованием Python. Вы можете продвинуться на шаг вперед с ChatGPT:
SEND AN EMAIL FROM “EMAIL_1” TO “EMAIL_2” WITH THE SUBJECT “EMAIL SENT BY CHATGPT” AND THE CONTENT “CHATGPT ROCKS!” USING PYTHON (ОТПРАВЬ С ПОМОЩЬЮ PYTHON ПИСЬМО С “EMAIL_1” НА “EMAIL_2” С ТЕМОЙ “ПИСЬМО, ОТПРАВЛЕННОЕ CHATGPT” И С СОДЕРЖАНИЕМ “CHATGPT РУЛИТ!”).
Вот код:
import smtplib
# создайте объект SMTP
smtp_obj = smtplib.SMTP('smtp.gmail.com', 587)
# запустите TLS-шифрование
smtp_obj.starttls()
# войдите в учетную запись электронной почты
smtp_obj.login('codelessearnmore@gmail.com', 'YOUR_PASSWORD')
# создайте электронное письмо
message = "Subject: Email sent by ChatGPT\n\nChatGPT rocks!"
# отправьте письмо
smtp_obj.sendmail('codelessearnmore@gmail.com', 'frank@codelessearnmore.com', message)
# закройте SMTP-соединение
smtp_obj.quit()
После ввода кода ChatGPT предупредил о необходимости ввести пароль в поле “YOUR_PASSWORD”.
Однако в этот раз ChatGPT не сообщил о том, что для получения 16-символьного пароля в случае использования Gmail нужно включить двухэтапную верификацию.
Тем не менее ChatGPT проделал потрясающую работу. После ввода пароля я получил письмо:
Задача #4. Веб-скрейпинг с books.toscrape.com
Вероятно, самым сложным заданием, которое я дал ChatGPT, было извлечение данных с сайта. Как вы, наверное, знаете, веб-ресурсы создаются с использованием различных версий HTML, поэтому процесс веб-скрейпинга меняется в зависимости от конкретного сайта.
ChatGPT отлично справился с задачей по поиску названий книг и цен на books.toscrape.com.
WEB SCRAPE HTTPS://BOOKS.TOSCRAPE.COM/ USING PYTHON AND BEAUTIFUL SOUP (ПРОВЕДИ СКРЕЙПИНГ HTTPS://BOOKS.TOSCRAPE.COM/ С ИСПОЛЬЗОВАНИЕМ PYTHON И BEAUTIFULSOUP).
Вот код:
import requests
from bs4 import BeautifulSoup
# Выполните GET-запрос к сайту
response = requests.get("https://books.toscrape.com/")
# Проведите парсинг HTML-содержимого сайта
soup = BeautifulSoup(response.text, "html.parser")
# Извлеките нужные данные с помощью различных методов и атрибутов BeautifulSoup
titles = soup.find_all("h3")
prices = soup.find_all(class_="price_color")
# Сохраните извлеченные данные в файл или базу данных, или используйте их в других целях
with open("book_data.txt", "w") as file:
for title, price in zip(titles, prices):
file.write(f"{title.text}: {price.text}\n")
А вот извлеченные данные:
Удобно извлекать данные без самостоятельного написания кода!
Бонус: создание отчета в Excel с помощью Python
Если вы увлекаетесь автоматизацией Excel, вам будет интересно узнать, что я также попытался сгенерировать отчет в Excel, используя ChatGPT.
Я не смог придумать ничего лучшего, чем попросить ChatGPT помочь с автоматизацией отчетов в Excel следующим образом:
GENERATE AN EXCEL REPORT WITH PYTHON (СГЕНЕРИРУЙ ОТЧЕТ В EXCEL С ПОМОЩЬЮ PYTHON).
Вот сгенерированный код:
# Импортируйте библиотеку `openpyxl`
import openpyxl
# Создайте новую рабочую книгу Excel
workbook = openpyxl.Workbook()
# Активируйте лист в рабочей книге (который на данный момент будет единственным листом)
sheet = workbook.active
# Добавьте данные в лист
sheet["A1"] = "Product"
sheet["B1"] = "Sales"
# Добавьте еще кое-какие данные в лист
products = ["Product A", "Product B", "Product C"]
sales = [100, 200, 300]
for i in range(len(products)):
sheet.cell(row=i+2, column=1).value = products[i]
sheet.cell(row=i+2, column=2).value = sales[i]
# Сохраните рабочую книгу в отдельном файле
workbook.save("sales_report.xlsx")
А вот результат:
Как видите, я получил лишь простой шаблон, но уверен, что вам нужно лишь дать ChatGPT правильную команду, чтобы достичь впечатляющих результатов.