1. Підготовка даних для збереження
На попередніх лекціях ми вже навчилися витягувати дані з веб-сторінок за допомогою бібліотеки BeautifulSoup. Тепер час перетворити наші скрейпінг-досягнення на щось корисне та зручне для аналізу. Адже якщо дані залишаються тільки у вашому скрипті, від них мало користі. Сьогодні ми вивчимо, як зберігати дані у форматах CSV та Excel, адже, як відомо, у житті програміста, як і в житті кота, головне — знайти, що з'їсти... тобто, зберегти.
Перш ніж ми почнемо перетворювати наші дані на веселі таблиці, давайте ненадовго зупинимося та розглянемо, як підготувати наші дані до експорту. Зазвичай дані, які ми витягуємо з веб-сторінок, представлені у вигляді списків або словників. Бажано відформатувати їх так, щоб вони були готові до експорту в табличний формат.
Приклад даних
Припустимо, що ви зібрали наступні дані про книги:
books = [
{"title": "Гаррі Поттер і філософський камінь", "author": "Дж. К. Роулінг", "price": "350.00"},
{"title": "Володар перснів", "author": "Дж. Р. Р. Толкін", "price": "500.00"},
{"title": "Майстер і Маргарита", "author": "М. А. Булгаков", "price": "450.00"}
]
2. Збереження у формат CSV
CSV (Comma-Separated Values) — це простий текстовий формат, який дозволяє зберігати табличні дані. Кожен рядок у CSV є записом, а кожна колонка розділяється комами. Давайте навчимося зберігати наші дані у цьому форматі.
Використання бібліотеки csv
Python надає нам зручний модуль csv, який значно спрощує життя при роботі з CSV-файлами. Ось як можна експортувати наші дані про книги в CSV:
import csv
with open('books.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=["title", "author", "price"])
writer.writeheader()
writer.writerows(books)
print("Дані успішно збережено у books.csv")
Зверніть увагу: завжди вказуйте newline='' при відкритті файлу у режимі w, щоб уникнути додаткових порожніх рядків у Windows.
Зчитування даних із CSV
Для повноти картини давайте розберемо, як прочитати дані назад із CSV:
with open('books.csv', mode='r', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
3. Збереження у формат Excel
Для роботи з Excel у Python ми будемо використовувати бібліотеку pandas. Pandas дозволяє легко конвертувати наші дані у DataFrame та експортувати їх у різні формати, включно з Excel.
Встановлення pandas
Якщо ви ще не встановили pandas, зробити це можна за допомогою pip:
pip install pandas openpyxl
Використання pandas для експорту в Excel
Тепер давайте збережемо наші дані про книги в Excel:
import pandas as pd
df = pd.DataFrame(books)
df.to_excel('books.xlsx', index=False, engine='openpyxl')
print("Дані успішно збережено у books.xlsx")
Зчитування даних із Excel
Яке щастя приносить не лише створення, а й повторне використання створеного! Давайте навчимося зчитувати дані з Excel:
df = pd.read_excel('books.xlsx')
print(df)
4. Помилки та їх обробка
Як і в будь-якому іншому аспекті програмування, при експорті даних можна зіткнутися з помилками. Найпоширеніші з них пов’язані з невірними шляхами до файлів або відсутністю необхідних бібліотек. Наприклад, якщо забути встановити openpyxl, експорт до Excel не вдасться.
Перевірка наявності файлів
Перед тим як намагатися записати або зчитати файл, корисно перевіряти його наявність. Це можна зробити за допомогою модуля os:
import os
if os.path.exists('books.csv'):
print("Файл books.csv існує")
else:
print("Файл books.csv не знайдено")
Ви не повірите, але найчастіша помилка новачків - це випадкове перезаписування старих даних новими. Автоматизація збереження історії файлів - це ціле мистецтво.
Не забудьте також включити обробку помилок за допомогою конструкцій try-except, щоб ваш скрипт не падав при першій же проблемі.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ