如何在JavaScript的fetch读取CSV时跳过表头行?
解决CSV读取时跳过表头的问题
要实现跳过表头从第二行开始处理数据,只需要在分割行之后跳过数组的第一个元素即可,这里可以用数组的slice(1)方法。另外考虑到CSV文件末尾可能存在空行,建议同时过滤掉空行避免无效数据处理。
修改后的代码如下:
const getData = async () => { const res = await fetch('data.csv'); const resp = await res.text(); const cdata = resp.split('\n') .filter(row => row.trim() !== '') // 过滤空行 .slice(1) // 跳过第一行表头 .map((row) => { const [date, open, high, low, close, volume] = row.split(','); return { date: date, open: parseFloat(open), high: parseFloat(high), low: parseFloat(low), close: parseFloat(close), volume: parseFloat(volume), }; }); return cdata; };
关键修改点说明:
slice(1):从数组索引1的位置开始截取,直接跳过了索引0的表头行filter(row => row.trim() !== ''):去除分割后产生的空行(比如文件末尾的换行符)- 额外优化:把读取到的字符串类型数值转成
float类型,方便后续数据计算使用
内容的提问来源于stack exchange,提问作者Bruce Ecurb
相关产品推荐
相关产品推荐

