Работа с файлами в JavaScript

Приведу пример как можно получить данные из файла и преобразовать их в многомерный массив. Для чтения файла будем использовать объект FileReader(). Этот конкретный пример хорошо работает с файлами CSV. Для работы с другими текстовыми файлами, нужно отредактировать метод split(‘,’).

Пример:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Data control</title>
</head>
<body>
    <label>Загрузите файл - </label>
    <input type="file" onchange="readFile(this)">
    <script>
        function readFile(input) {
            let bigData = [];
            let file = input.files[0];
            let reader = new FileReader();
            reader.readAsText(file);

            reader.onload = function() {
                let lines = reader.result.split(/[\r\n]+/g);
                lines.forEach(function(line) { 
                    bigData.push(line.split(','));
                });
                console.log(bigData);
            };

            reader.onerror = function() {
                console.log(reader.error);
            };
        }
    </script>
</body>
</html>

После загрузки файла формата CSV, в консоли можно наблюдать многомерный массив, сформированный из файла CSV.

Добавить комментарий