papaparse 不解析完整数据

papaparse not parsing full data

我正在制作一个 React 应用程序,它从 public 文件夹中获取并显示一些 CSV 文件数据。我的反应容器看起来像这样:

import React, { Component } from 'react'
import * as Chart from "chart.js";
import { connect } from 'react-redux'
import { Bar } from 'react-chartjs-2'
import * as actions from "../actions"
import * as Papa from 'papaparse'

function mapStateToProps({stats}) {
  return {
    data: stats.data
  }
}

class Stats extends Component {
  fetchCsv(fileName) {
    return fetch(fileName).then(function (response) {
      let reader = response.body.getReader();
      let decoder = new TextDecoder('utf-8');

      return reader.read().then(function (result) {
        return decoder.decode(result.value);
      });
    });
  }

  constructor(props){
    super(props);
  }

  async componentDidMount() {

    let PlayerArray = [], BallByBallArray = [], MatchArray = [],
      PlayerMatchArray = [], SeasonArray = [], TeamArray = [];

    let PlayerMatchData = await this.fetchCsv("Player_Match.csv");

    Papa.parse(PlayerMatchData, {
      complete: function(results) {
        console.log("Finished:", results.data);
        PlayerMatchArray = results.data;
        console.log("entries.length: " + results.data.length);
      }
    });
  }

  render() {
    return (
      <div>

      </div>
    )
  }
}

export default connect(
  mapStateToProps, actions
)(Stats)

这是使用 fetchCsv 函数异步获取 Player_Match.csv 文件的内容,并将其存储在 PlayerMatchData 变量中。

然后 PlayerMatchData 正在被 papaparse 解析。问题是 文件中有 12700 个条目 ,它仅 在 google chrome 中获取 3776 个条目

此外,奇怪的是它在 firefox

中获取 1660 个条目

如有任何意见,我们将不胜感激。 :)

编辑:Link 数据:https://www.kaggle.com/harsha547/indian-premier-league-csv-dataset#Player_Match.csv

好的,我得到了答案。正如@SergiuParaschiv 所说,reader.read() 只读取一个数据块。所以我改为使用 fetch 函数来完成任务。解析没有问题。

await fetch("Player_Match.csv")
  .then(response => response.text())
  .then(text => {
    PlayerMatchData = text;
    // console.log(text)
  })

这将完成任务。