При подписке прикреплять данные CSV к моему API JSON данные в Angular приложении - PullRequest
1 голос
/ 11 июля 2020

Мне нужно взять данные из CSV-файла и прикрепить их к основному JSON Я использую для своего Angular приложения.

Точнее, мне нужно взять ожидаемую продолжительность жизни из CSV-файла и прикрепите их к соответствующей стране JSON (данные JSON представляют собой массив объектов длиной 212, а данные CSV имеют длину 200).

Я использую d3. js для анализа файла CSV. Я пробовал это, но похоже, что это не работает. Метод getData, на который я подписываюсь, является основным источником данных, к которому я хочу прикрепить ожидаемую продолжительность жизни.

this.store.getData().subscribe((data: Data[]) => {
        
      d3.csv('../assets/datasets/life_expectancy.csv').then((csvData: any) => {
          
        for (let i = 0; i < csvData.length; i++) {
          if (csvData[i].country_name === data[i].country) {
            data[i].lifeExpectancy = csvData[i].country_life_expectancy;
          }
        }
          
      });

Ожидаемая продолжительность жизни CSV выглядит следующим образом ([{country_name: 'United States', { country_life_expextancy: 79.11}} ...])

1 Ответ

1 голос
/ 11 июля 2020

Наконец, я нашел решение:

data: Data[];

      ngOnInit() {
        this.store.getData().subscribe((data: Data[]) => {
          this.data = data;
          d3.csv('../assets/datasets/life_expectancy.csv').then((csvData: any) => {
            for (let i = 0; i < csvData.length; i++) {
              for (let j = 0; j < this.data.length; j++) {
                if (csvData[i].country_name === this.data[j].country) {
                  this.data[j].lifeExpectancy = csvData[i].country_life_expectancy;
                }
              }
            }
          });
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...