Анализ 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) 

# Изменяем возраст Ivan
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 комментариев