1

Мне нужно ввести большое количество данных в массиве, который будет в этой форме:

[
  [data1,data2,data3,...,data9],
  [data1,data2,data3,...,data9],
  [data1,data2,data3,...,data9],
  ...
]

В действительности, ввод данных напрямую в виде JavaScript - это длительный процесс, в котором много ошибок. Кроме того, я хотел бы ввести данные в таблицу Excel и сгенерировать массив JavaScript из листа. Как я могу это сделать?

3 ответа3

1

Я считаю, что вы можете использовать Papa Parse, который является инструментом JavaScript для анализа файлов .csv.

Сначала введите все свои данные в Excel и сохраните файл в формате .csv.

Далее используйте NPM для установки Papa Parse:

$ npm install papaparse

Импортируйте ваш .csv в JS:

var file = '/path/to/your.csv';

var content = fs.readFileSync(file, "utf8");

Затем используйте этот код для анализа .csv в массиве:

var Papa = require('papaparse');

Papa.parse(content, {
    header: false,
    delimiter: "\t",
    complete: function(results) {
    rows = results.data;
    }
});
1

Поскольку это операция, которую вы выполняете только один или несколько раз, вот решение с нулевой обработкой, использующее веб-сайт Mr. Data Converter, по-видимому, созданный Шаном Картером.

Вот как я преобразовал эту фиктивную электронную таблицу с 679 дублированными строками:

таблица

  1. Выделите все данные, используя Ctrl+A
  2. Копировать в буфер обмена с помощью Ctrl+C
  3. Открыть сайт Mr. Data Converter
  4. Нажмите в верхней текстовой области и вставьте данные с помощью Ctrl+V
  5. Выберите вывод как «JSON - Row Arrays»
  6. Результат в нижней текстовой области будет выглядеть так:

  1. Нажмите в нижней текстовой области, и он будет выбран
  2. Копировать в буфер обмена с помощью Ctrl+C

Теперь вы можете вставить данные куда угодно и добавить вокруг них объявление для массива JavaScript.

Примечание на будущее: если веб-сайт Mr. Data Converter когда-либо исчезнет из Интернета, его рабочую копию можно найти на Wayback Machine.

0

Предполагая , качестве разделителя в простом текстовом файле .csv вы можете просто сделать это:

var csvarray = [];
var client = new XMLHttpRequest();
client.open('GET', '/mydata.csv');
client.onreadystatechange = function() {
    var rows = client.responseText.split('\n');
    for(var i = 0; i < rows.length; i++){
        csvarray.push(rows[i].split(','));
    }
}
client.send();

csvarray будет содержать один массив на строку csv, содержащий данные, разделенные запятыми.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .