Парсер данных в excel



  • Здравствуйте! Решил спарсить ближайшие спортивные матчи, после добавить их в созданную переменную [[PEREMEN1]] и сохранить полученные данные в excel с помощью xlsx-populate.
    Код на скрине
    0_1534796574908_1.jpg

    Однако, столкнулся с проблемой, при использовании кода for (var i = 1; i <= 10; i++){workbook.sheet("Sheet1").cell('A' + i).value([[PEREMEN1]]) в 10 строках указывается один и тот же последний матч хотя в логе все нормально
    скрин 0_1534799146857_2.jpg
    Пробовал вставлять setTimeout, но без толку.



  • @aquamen4 А в переменной [[PEREMEN1]] у тебя точно список? Если да, попробуй так:

    workbook.sheet("Sheet1").cell('A' + i).value([[PEREMEN1]][i]);
    

    И на будущие, код выкладывать лучше текстом, чтобы другим не пришлось перепечатывать код по скриншоту.



  • @fox спасибо за ответ. Я список вообще НЕ применял, сейчас попробую



  • @aquamen4 еще можно сохранять в CSV или TSV файл



  • @romanbiz спасибо за ответ, похоже придется



  • @fox через списки попробовал, но не могу понять, как можно сделать, чтобы новые переменные создавались и им присваивались имена с [[CYCLE_INDEX]]. Через node.js не получается (пробовал exceljs, SheetJS js-xlsx, xlsx-populate), они все переписывают весь эксель, а не дописывают, не изменяя имеющиеся данные. Поэтому в экселе выводится последнее значение [[PEREMEN1]].



  • @aquamen4

    как можно сделать, чтобы новые переменные создавались и им присваивались имена с [[CYCLE_INDEX]]

    Используйте поиск, я уже отвечал, что можно объявить переменную через eval()

    они все переписывают весь эксель, а не дописывают, не изменяя имеющиеся данные

    Вы сперва читайте файл в переменную, потом добавляйте в переменную нужные данные и сохраняйте обратно в файл. Либо в конце работы скрипта сохраните все полученные данные в файл.



  • @fox спасибо Вам, сейчас попробую


Log in to reply
 

  • 13
  • 2
  • 2
  • 11
  • 8
  • 4
  • 6
  • 11