2017-02-02 11 views
1

Как вы разбираете файлы csv, имеющие разные имена заголовков? Я пытался сделать это несколько, как это в методе метеора:Как разобрать динамические заголовки и пустые строки?

parseUpload(data){ 
check(...) 
for(let i=0;i<data.length;i++){ 
    let item = data[i] 
    let thing = { 
    name: item.name || item.itemname || item.something, 
    category: item.category 
    } 
    items.insert(thing); 
} 

но всегда принимают первые из параметров (item.name), и как он был пуст, метод не может быть выполнен. Как я могу сделать оператор OR для привязки имени к doc.namesArray, поэтому загруженный файл может использовать псевдонимы для имен столбцов?

также, я заметил, что когда вы делаете таблицу не начиная с 1A, она создает пустые строки/строки в документе csv. papaparse все еще ожидает, что первый столбец будет «именем», и все перестанет работать снова (пока я не заново создаю csv-файл, поэтому он начинается с фактических значений).

ответ

0

При попытке вставить этот код в окне консоли в вашем браузере:

item={name:' ',itemname:"itemname",something:"something"} 
item.name || item.itemname || item.something 

Вы получите это:

" " 

Аналогично с этим:

item={name:'',itemname:"itemname",something:"something"} 
item.name || item.itemname || item.something 

Вы получаете

"itemname" 

Так что если item.name пустая строка, или отсутствует, то вы получите item.itemname вернулся

Так код ОК, ваши данные не должны быть, как вы ожидаете. Попробуйте положить console.log (item) внутрь и посмотреть, что вы получаете, или установить контрольную точку и проверить ее.

+0

Да, но когда я загружаю файл, который имеет только один из ожидаемых заголовков, он отвечает «дезинфицирован и сообщается клиенту как: name required [400]. –

 Смежные вопросы

  • Нет связанных вопросов^_^