Python — один из самых популярных языков для работы с данными, и он предлагает множество инструментов для загрузки и обработки датасетов. В этой статье мы разберем, как загружать данные из различных форматов: CSV, JSON, TXT, Excel и SQLite, используя стандартные средства Python и популярные библиотеки, такие как pandas, NumPy и другие.

Датасеты из наших примеров
Iris:
Red Wine Quality:
Загрузка данных из CSV
CSV (Comma-Separated Values) — это текстовый формат для хранения табличных данных. Каждая строка в таком файле — строка таблицы, где значения разделены запятыми. Этот формат популярен из-за своей простоты и универсальности.
Способ 1: С помощью стандартной библиотеки CSV
Python предоставляет встроенную библиотеку csv для чтения и записи CSV-файлов:
import csv # Импортируем стандартный модуль для работы с CSV with open('iris.csv', 'r') as file: # Открываем файл reader = csv.reader(file) # Создаем объект для чтения строк for row in reader: # Перебираем строки print(row) # Выводим каждую строку
Вывод:

Если вам необходимо прочитать только первые несколько строк, измените код следующим образом:
import csv with open('iris.csv', 'r') as file: reader = csv.reader(file) # Создаем объект для построчного чтения for i, row in enumerate(reader): # Перебираем строки с индексом if i >= 5: # Останавливаем цикл после 5 строк break print(row) # Выводим первые пять строк
Вывод:

Способ 2: С помощью библиотеки pandas
Pandas — одна из самых мощных библиотек для анализа данных. Она позволяет удобно загружать, просматривать и обрабатывать таблицы.
Сначала импортируем библиотеку и загрузим весь датасет, а затем выведем его полностью:
import pandas as pd # Импортируем библиотеку pandas df = pd.read_csv('iris.csv') # Загружаем CSV-файл в DataFrame print(df) # Выводим DataFrame (по умолчанию вывод сокращен)
Вывод:

По умолчанию pandas сокращает вывод, если строк или столбцов слишком много. Чтобы отобразить все данные, замените последнюю строку на:
pd.set_option('display.max_rows', None) # Показывать все строки pd.set_option('display.max_columns', None) # Показывать все столбцы print(df) # Теперь весь DataFrame выведется полностью
Если датасет большой, выводить все строки бывает неудобно. В таких случаях лучше вывести только первые несколько строк, чтобы получить представление о данных, быстро оценить их структуру и проверить корректность загрузки.
import pandas as pd df = pd.read_csv('iris.csv') print(df.head(5)) # Выводим первые 5 строк
Способ 3: С помощью библиотеки NumPy
NumPy — это библиотека Python, предназначенная для эффективной работы с числовыми данными и многомерными массивами. Она подходит для выполнения математических операций, статистического анализа и машинного обучения.
Эта библиотека особенно удобна, когда ваш датасет состоит из числовых данных, а текстовая информация минимальна или отсутствует вовсе.
Пример 1: Загрузка датасета Red Wine Quality
Если ваш датасет состоит из чисел, загрузка с помощью NumPy выглядит так:
import numpy as np # Импортируем библиотеку NumPy data = np.loadtxt('winequality-red.csv', delimiter=',', skiprows=1) # Загружаем датасет, пропуская первую строку (текстовые заголовки) print(data[:5]) # Выводим первые 5 строк
Вывод:

Если вам необходимо вывести весь датасет (все строки) замените последнюю строчку на:
np.set_printoptions(threshold=np.inf) print(data)
Пример 2: Загрузка датасета Iris
Если же в датасете есть текстовые данные (например, названия классов в наборе данных Iris), стандартная загрузка приведет к ошибке. NumPy попытается превратить каждое значение в число. В этом случае используйте параметр dtype=‘str’:
import numpy as np # Импортируем библиотеку NumPy data = np.loadtxt('iris.csv', delimiter=',', skiprows=1, dtype='str') # Загружаем данные как строки print(data[:5]) # Выводим первые 5 строк
Вывод:

В случае если вас интересуют только столбцы с числами, можно указать их номера через параметр usecols. Например, если текстовая информация содержится только в последнем столбце, а первые четыре содержат числа:
import numpy as np data = np.loadtxt('iris.csv', delimiter=',', skiprows=1, usecols=(0, 1, 2, 3)) # Загружаем нужные столбцы (0-3) print(data[:5]) # Выводим первые 5 строк
Вывод:

Загрузка данных из JSON
JSON — распространенный текстовый формат для обмена данными, особенно популярный в веб-разработке и работе с API. В отличие от CSV-файлов, которые имеют строгую табличную структуру и подходят для простых, однородных данных, JSON позволяет хранить более сложные, вложенные структуры данных (например, словари внутри списков).
Рассмотрим два способа загрузки JSON-файлов в Python: с помощью стандартной библиотеки Python и библиотеки pandas.
Способ 1: С помощью стандартной библиотеки Python
Встроенная библиотека json позволяет легко загружать и обрабатывать данные:
import json # Импортируем стандартный модуль для работы с JSON with open('iris.json', 'r', encoding='utf-8') as file: # Открываем файл в режиме чтения data = json.load(file) # Загружаем содержимое файла и превращаем его в Python-объект print(data[:5]) # Выводим первые 5 строк
Вывод:

Способ 2: С помощью библиотеки pandas
Если вам удобнее работать с данными в табличной форме, используйте pandas. Библиотека автоматически превращает JSON в таблицу, что упрощает дальнейший анализ данных.
import pandas as pd # Импортируем библиотеку pandas df = pd.read_json('iris.json') # Загружаем JSON-файл и преобразуем его в DataFrame print(df.head(5)) # Выводим первые 5 строк
Вывод:

Загрузка данных из TXT
Другой распространенный тип файлов — это текстовые файлы. Как и CSV или JSON, они содержат информацию в виде текста, однако не всегда предполагают строгий табличный формат.
Продолжим работать c датасетом Iris в формате txt.
with open('iris.txt', 'r', encoding='utf-8') as file: data = file.read() # Открываем файл iris.txt и считываем данные print(data) # Выводим содержимое файла
Вывод:

Если вам нужно вывести текст построчно (например, первые 5 строк):
with open('iris.txt', 'r', encoding='utf-8') as file: lines = file.readlines() # Открываем файл и считываем данные построчно for line in lines[:5]: print(line.strip()) # Выводим каждую строку, убирая лишние пробелы и переносы
Загрузка данных из Excel
Файлы Excel (.xls или .xlsx) также часто используются для хранения и анализа данных. Для работы с ними в Python обычно применяются библиотеки pandas или openpyxl.
Способ 1: С помощью библиотеки pandas
Pandas позволяет очень просто и удобно загрузить данные из Excel-файла и сразу приступить к их анализу.
import pandas as pd # Импортируем библиотеку pandas df = pd.read_excel('iris.xlsx', sheet_name='sheet') # Загружаем файл и преобразуем их в DataFrame (предположим, что данные на листе sheet) print(df) # Выводим DataFrame (по умолчанию вывод сокращен)
Вывод:

Если нужно вывести все строки и столбцы, замените последнюю строку на:
pd.set_option('display.max_rows', None) # Показывать все строки pd.set_option('display.max_columns', None) # Показывать все столбцы print(df)
Способ 2: С помощью библиотеки openpyxl
openpyxl — это специализированная библиотека для работы с Excel-файлами.
import openpyxl # Импортируем библиотеку openpyxl workbook = openpyxl.load_workbook('iris.xlsx') # Загружаем рабочую книгу Excel sheet = workbook.active # Выбираем активный лист (можно указать конкретный) for row in sheet.iter_rows(max_row=5, values_only=True): print(row) # Выводим первые 5 строк
Вывод:

Если нужно получить значение конкретной ячейки замените последние 2 строки на:
cell_value = sheet.cell(row=2, column=3).value # Получаем значение из ячейки (2-я строка, 3-й столбец) print(cell_value) # Выводим значение ячейки
Вывод:

Загрузка данных из SQLite
SQLite — это популярная и простая в использовании база данных, часто используемая в проектах на Python. Чтобы загрузить SQLite, вы можете использовать встроенный модуль Python sqlite3 в комбинации с библиотекой pandas.
import sqlite3 # Импортируем модуль для работы с SQLite import pandas as pd # Импортируем библиотеку pandas connection = sqlite3.connect('database.sqlite') # Устанавливаем соединение с базой данныхimport sqlite3 # Импортируем модуль для работы с SQLite import pandas as pd # Импортируем библиотеку pandas connection = sqlite3.connect('database.sqlite') # Устанавливаем соединение с базой данных query = "SELECT * FROM Iris" # SQL-запрос (замените 'Iris' на нужную таблицу) df = pd.read_sql_query(query, connection) # Загружаем результат запроса в DataFrame connection.close() # Закрываем соединение с базой данных print(df.head(5)) # Выводим первые 5 строк
Вывод:

Как узнать название таблиц в файле SQLite?
Если вы не знаете, какие таблицы есть в базе данных:
import sqlite3 connection = sqlite3.connect('database.sqlite') # Устанавливаем соединение с базой данных cursor = connection.cursor() cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") # Получаем список таблиц tables = cursor.fetchall() print("Список таблиц:", tables) # Выводим названия таблиц connection.close() # Закрываем соединение с базой данных
Вывод:
