В этом посте я собираюсь поделиться навыком, который я недавно изучил, выполняя задание. До сих пор я никогда не работал над проектом, который требовал бы от меня чтения данных из файла csv вместо базы данных с помощью JavaScript. Здесь я собираюсь поделиться одним из способов сделать это с помощью HTML5 и Papa parse library.

Papa parse — это библиотека JavaScript для быстрого парсинга CSV в браузере. Известно, что он очень надежен и прост в анализе файлов CSV, поскольку предоставляет больше дополнительных функций или опций. Он поддерживается большинством современных браузеров. Вы можете проверить Документацию Papa parse, чтобы узнать обо всех возможностях.

Подход, который я использовал, включает в себя сначала загрузку CSV-файла с использованием элемента HTML5 <input type="file">, а затем использование Papa parse для анализа файла, который можно использовать для дальнейшей обработки, такой как отправка его на сервер для сохранения данных в базе данных или отображения данных в таблице.

Шаг 1

создайте html-файл и включите файл синтаксического анализа Papa в раздел head. Вы можете назвать свой файл index.html или как хотите.

Шаг 2

Добавьте HTML-форму для загрузки файла в формате csv на index.html

Как видно из приведенного выше кода, я добавил некоторую проверку во входной файл, добавив атрибут required и приняв только файл с расширением .csv.

Вывод в браузере

Шаг 3

создайте файл js script.js, который будет иметь логику кода для анализа данных csv с использованием метода Papa.parse. Метод принимает file object и config object в качестве аргументов. Объект конфигурации определяет параметры, поведение и обратные вызовы, используемые во время синтаксического анализа. Ниже приведены свойства объекта конфигурации по умолчанию:

Описание каждого объекта можно найти здесь. В этом посте мы будем использовать только два свойства: header, которому мы установим значение true, чтобы интерпретировать первую строку проанализированных данных как имена свойств или полей, и каждая строка CSV-файла будет объектом значений. вводится по имени поля. Второе свойство, которое мы здесь будем использовать, — это complete, которое представляет собой функцию обратного вызова, выполняемую после завершения синтаксического анализа. Обратный вызов принимает проанализированные результаты в качестве аргумента.

Приведенный выше код в файле script.js будет выполняться после того, как пользователь отправит свой CSV-файл.

Теперь у нас есть программа для разбора CSV-файлов. После того, как файл проанализирован, вы можете манипулировать данными так, как хотите, чтобы удовлетворить требования вашего проекта. В качестве демонстрации давайте проанализируем следующий CSV-файл sample.csv.

Вот проанализированная структура данных после запуска программы:

Вот ссылка на исходный код:



Я надеюсь, что вы найдете этот пост полезным.

До скорого,

Удачного кодирования/обучения !!

Первоначально опубликовано на https://vanessuniq.github.io 21 марта 2021 г.