Основы импорта данных

Импорт данных в Java

Anthony Markham

VP Quant Developer

Знакомьтесь: ваш преподаватель!

 

$$

Anthony Markham

  • VP, руководитель отдела количественной аналитики
  • Разработчик на C++/Java/Python в инвестиционном банкинге
  • Опыт преподавания в университете

 

Anthony Markham

Импорт данных в Java

Основы импорта данных

  • Необходим для обработки внешних данных в Java-приложениях

  • Распространённые форматы: CSV (значения, разделённые запятыми), JSON и Excel

Блок-схема пяти шагов рабочего процесса импорта

  • Java предоставляет мощные инструменты в пакетах java.io и java.nio
Импорт данных в Java

Основы работы с файлами

  • Класс File представляет файлы или каталоги
  • Методы exists(), length() и isDirectory() позволяют проверить файл
import java.io.File;
File dataFile = new File("data.csv");
boolean exists = dataFile.exists();
long size = dataFile.length();
boolean isDirectory = dataFile.isDirectory();
Импорт данных в Java

Интерфейс Path и класс Files

  • Интерфейс Path и класс Files обеспечивают современные операции с файлами (java.nio)
  • Преимущества: гибкость, улучшенная обработка исключений и производительность
  • java.io — для простых операций; java.nio — для высокопроизводительного ввода-вывода
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
Path dataPath = Paths.get("data.csv");

boolean exists = Files.exists(dataPath); long size = Files.size(dataPath);
Импорт данных в Java

Чтение текстовых файлов

  • Files.readAllLines(): считывает весь файл в List<String> (по одному элементу на строку)
  • Files.readString(): считывает весь файл в одну строку
Path file = Paths.get("data.csv");

// Read all lines at once List<String> lines = Files.readAllLines(file); // Read entire file as a string String content = Files.readString(file);

$$

$$

  • Весь файл загружается в память 🛑
Импорт данных в Java

Валидация данных

  • Обеспечивает качество данных перед обработкой
  • Проверяйте качество и структуру данных
  • Выполняйте типовые проверки
  • Обрабатывайте любые исключения Exception

Проверки валидации данных

Импорт данных в Java

Валидация данных

  • Типовые проверки: файл не пуст, обязательные столбцы присутствуют в заголовке
  • Обрабатывайте Exception с помощью блока try-catch ✅
try {
  Path file = Paths.get("data.csv");
  List<String> lines = Files.readAllLines(file);
  if (lines.isEmpty()) { // Validate file has content
      System.out.println("Warning: File is empty");}
  String header = lines.get(0);
  if (!header.contains("id") || !header.contains("name")) {    // Check header
      System.out.println("Error: File missing required columns");
} catch (Exception e) {
    System.out.println("Error reading file: " + e.getMessage());}
Импорт данных в Java

Итоги

Класс/Интерфейс Метод Описание
File new File() Создаёт абстрактное представление пути к файлу
File exists() Проверяет существование файла
File length() Возвращает размер файла в байтах
Paths get() Создаёт объект Path из строки
Files exists() Проверяет существование файла (современный API)
Files size() Возвращает размер файла в байтах (современный API)
Files readAllLines() Считывает весь файл в List<String>
Files readString() Считывает весь файл в одну строку String
1 https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html
Импорт данных в Java

Давайте потренируемся!

Импорт данных в Java

Preparing Video For Download...