Аналіз CSV файлів на Python

Коментарі: 0

Парсинг даних - це автоматизований процес збору та обробки інформації, який широко застосовується для аналізу CSV файлів. Парсинг полягає в поділі файлів на окремі компоненти: рядки, стовпці та значення, що полегшує аналіз, фільтрацію та вилучення потрібних даних для подальшої роботи.

Що таке CSV файл?

CSV (Comma-Separated Values) дослівно перекладається як "значення, розділені комами". Це формат файлу, який зберігає дані, розділені комою і переведеннями рядка, що дає змогу використовувати формат CSV для створення або редагування даних в Excel.

Нельзя не згадати, однією з основних переваг CSV є його універсальність. Такі файли можна відкривати й обробляти незалежно від програмного забезпечення, а також легко експортувати у вигляді таблиці або бази даних.

Як читати CSV файл за допомогою Python

Python має вбудовану бібліотеку CSV, що надає прості інструменти як для читання, так і для запису даних. Це дає змогу легко відкривати файли, аналізувати їхній вміст і подальшу обробку даних.

Наведений нижче код демонструє читання і друк файлу під назвою university_records. Він відкриває файл у режимі читання, зчитує дані за допомогою csv і виводить їх через цикл for.


import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

Запис CSV файлу за допомогою Python

Для запису даних ми використовуємо модуль csv, який містить кілька корисних методів:

  • .writer() - створює файл;
  • .writerow() - записує інформацію в рядок.

Нижче наведено приклад, як використовувати ці методи для запису інформації.


import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Monika', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
    writer = csv.writer(csv_file)

    writer.writerow(row)

    writer.writerow(row1)

    writer.writerow(row2)

Обробка CSV файлів з бібліотекою Pandas

CSV-файли використовуються скрізь: від фінансових звітів до великих наборів даних для машинного навчання. Працювати з такими файлами вручну може бути вкрай незручно, а базові можливості Python іноді виявляються недостатньо ефективними. У такому разі можна використовувати бібліотеку Pandas, яка надає ширший спектр інструментів для швидкого аналізу файлів.

Нижче наведено приклад того, як легко записувати дані за допомогою DataFrame. DataFrame є однією з ключових структур даних у бібліотеці Pandas і використовується для роботи з табличними даними.


import pandas as pd

data = {"Name": ["David", "Monika", "Raymond"], 
        "Age": [30, 25, 40], 
        "City": ["Kyiv", "Lviv", "Odesa"]
} 

df = pd.DataFrame(data) 

file_path = "data.csv" 
df.to_csv(file_path, index=False, encoding="utf-8")



Ключові особливості бібліотеки Pandas

Pandas вважається потужною і зручною бібліотекою, і ось основні можливості, які роблять її такою ефективною:

  1. Простота завантаження файлів. Pandas автоматично розпізнає структуру даних, що виключає необхідність у ручному аналізі файлів. Це особливо важливо, коли дані надходять з різних джерел і розрізняються за форматуванням.
  2. Робота з великими обсягами даних. На відміну від стандартних бібліотек Python, які можуть бути повільними під час обробки великих CSV-файлів, Pandas оптимізована для швидкої роботи з великими файлами. Підтримка поетапного завантаження файлів запобігає перевантаженню пам'яті та зниженню продуктивності.
  3. Обробка даних. CSV-файли часто містять пропущені значення, помилкові формати або дублікати. Pandas має вбудовані інструменти для їх швидкого опрацювання: можна замінювати відсутні дані, коригувати типи даних, видаляти зайві символи та структурувати інформацію для подальшого аналізу.

Таким чином, бібліотека краще підходить для швидкого аналізу файлів CSV, завдяки ширшому вибору інструментів. Крім того, Pandas добре справляється з великими обсягами даних, що робить її відмінним вибором для аналізу інформації навіть на великих масштабах.

Як зчитати інформацію з CSV за допомогою Pandas

Щоб почати працювати з CSV-файлом, необхідно спочатку його завантажити:


import pandas as pd

df = pd.read_csv("data.csv")

Інструменти Pandas гнучкі під час роботи з великими обсягами даних. Давайте подивимося, як скрипт Python може аналізувати файл CSV:


df.head() # Показує перші 5 рядків
df.tail(10) # Показує останні 10 рядків
df.info() # Виводить список колонок, типи даних і кількість заповнених значень

Для отримання конкретної або декількох колонок, використовуйте такі команди:


df["Name"] # Отримати колонку "Name"


df[["Name", "Age"]] # Витягти тільки "Name" і "Age"

Запис CSV файлу за допомогою Pandas

Розглянемо, як додавати, оновлювати та видаляти конкретні рядки:

Додавання нового рядка:


# Завантажуємо CSV-файл
df = pd.read_csv(file_path) 

# Додаємо новий рядок
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


# Зберігаємо
df.to_csv(file_path, index=False, encoding="utf-8")

Оновлення конкретного рядка:


df = pd.read_csv(file_path) 

# Змінюємо вік Івана
df.loc[df["Name"] == "Ivan", "Age"] = 26 

df.to_csv(file_path, index=False, encoding="utf-8")

Видалення рядка:


df = pd.read_csv(file_path) 

# Видаляємо рядок, де Name == "Mykhailo"
df = df[df["Name"] != "Mykhailo"] 

df.to_csv(file_path, index=False, encoding="utf-8")

Висновок

Бібліотека csv у Python - це простий і зручний спосіб читати або записувати інформацію у форматі CSV. Але якщо користувачеві потрібна швидкість і потужні інструменти для аналізу, Pandas стане незамінним помічником. Ця бібліотека автоматизує рутинні завдання, дає змогу працювати з великими файлами та економить час. Таким чином, для простих завдань достатньо стандартної бібліотеки csv, а Pandas вже є більш спеціалізованим інструментом для великих обсягів даних.

Коментарії:

0 Коментаріїв