【前端】读取csv文件,将数据转换为对象。spilce与slice的区别

news2024/9/20 0:30:12

一. 解决思路

解决思路:将csv文件的第一行作为key,后续的每一行作为value存入对象数组。
在这里插入图片描述

二. 代码写法

2 .1 JS写法

2.1.1 数组.map(function(item, index,arr){})

Item: 这个表示的是每一项对应的索引。
index: 这个表示的是每一项对应的索引。
arr: 原数组。

2.1.2 数组.splice() 与 数组.slice() 的区别

数组.splice() : 有两个作用,第一个是截取原数组中的数据;第二个是删除并插入数据。
数组.slice() : 将截取出来的数据,放入一个新的数组。
最本质的区别在于这个方法会改变原数组。

数组.splice(start,amount) //截取数据,改变原数组 start是开始索引,amount是截取个数 改变原数组,被截取的数据被删除

//截取数据,改变原数组 start是开始索引,amount是截取个数,后面的item1,item2…是要加入原数组的数据
数组.splice(start,amount,item1,item2…) 

数组.slice(start,end)  //截取数据,不改变原数组,start是开始索引,end是结束索引

splice方法的结果
slice方法的结果

fetch('./Medical.csv').then(response => response.text()).then(csvString => {
    //将换行符作为分割符,拆分数据,读取每一行的数据
    const rows = csvString.split('\n');
    //继续拆分每一行,拆分成每一个数据(将csv文件读取为二维数组)
    const data = rows.map(row => row.split(','));
    console.log(data);
    results = [];
    //生成对象数组
    for(var i =1;i<data.length;i++){
        var result = {};
        //将每一行数组保存成一个对象
        for(var j=0;j<data[0].length;j++){
            result[data[0][j]]=data[i][j];
        }
        //深拷贝与浅拷贝的区别--深入研究一下
        results.push(JSON.parse(JSON.stringify(result)));
    }
    console.log(results);
});

2.2 python写法

for i in range(1,len(data_array)):
    #这个zfill()是填充字符串成5位字符串
    id = str(i).zfill(5)    
    exp_data = {}
    for j in range(0,len(data_array[0])) :
        exp_data[data_array[0][j]] = data_array[i][j]
    exp_data["id"] = id
    results.append(exp_data)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118677.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LTE PSS主同步信号PSS搜索阶段频偏估计

频偏的影响: 本期要讲到PSS搜索阶段,整数倍频偏和小数倍频偏的估计方法,整数倍频偏指的是子载波间隔的整数倍比如15k、30k等,小数倍频偏指的是一个子载波间隔以内的。在OFDM通信系统中,频偏是一个比较敏感的词,正常如果频偏估不准会带来一系列的问题,比如OFDM信号的正交…

高校大模型实验室大模型应用平台

大模型应用平台是一款专为高校大模型应用场景教学和科研打造的知识库问答系统。该平台易于使用&#xff0c;知识库支持常见的txt、doc、pdf、md等数据文件上传&#xff0c;同时提供了简洁易懂的操作配置界面&#xff0c;使用户可以轻松地搭建和训练AI应用&#xff0c;并快速进行…

Selenium:设置元素等待、上传文件、下载文件

前言&#xff1a;在工作和学习selenium自动化过程中记录学习知识点&#xff0c;深化知识点 1. 设置元素等待 元素定位之元素等待-- WebDriver提供了两种类型的等待&#xff1a;显示等待和隐式等待。 1.1 显示等待 显式等待使WebDriver等待某个条件处理时继续执行&#xff…

mycat双主高可用架构部署-mycat安装

MySQL5.7服务器IP是192.168.31.209及192.168.31.210 1、安装Java运行环境 ELK搭建日志平台里面有Java安装&#xff0c;同样也可以采用yum安装 yum install -y java java -version 2、下载并解压mycat wget http://dl.mycat.org.cn/1.6.7.6/20220524101549/Mycat-server-1.…

支小宝来了!支付宝AI生活管家,让AI帮你“干活“

众所周知&#xff0c;支付宝界面越来越复杂&#xff0c;从最初的一个支付工具逐渐演变成了一个综合性的平台&#xff0c;涵盖了生活中的各个方面。 功能的增加的同时不可避免的就会导致使用不便。 随着大模型的应用&#xff0c;支付宝基于百灵大模型推出了“支小宝”AI生活管家…

盘点4款比pr剪辑简单的视频剪辑工具。

PR剪辑软件对于很多不太懂剪辑的人来说确实有点不太好操作&#xff0c;需要去学习一些剪辑知识使用比较好。如果想要在短时间内掌握一些剪辑技巧&#xff0c;可以选择相对简单一点的剪辑工具。比如下面这4款&#xff0c;不管是新手还是会剪辑的人都可以使用。 1、福昕高效剪辑 …

超有趣,小白专用的python基础到大师人工智能教程!

2017年7月&#xff0c;国务院发布的《新一代人工智能发展规划》提出&#xff0c;要在中小学阶段设置人工智能相关课程&#xff0c;并逐步推广编程教育。 Python 是一种通用型编程语言&#xff0c;它具有良好的可扩展性和适应性&#xff0c;易于学习&#xff0c;被广泛应用于云计…

适合Python练手的8个经典项目,有趣又实用,提升Python编程能力必看!

今天给大家分享的&#xff0c;是一些实战练习的小案例&#xff0c;如果你还是Python小白&#xff0c;可以再看看我前面几篇文章&#xff0c;如果是有了一点基础&#xff0c;那就尝试完成下面这些案例吧&#xff01; 这里插播一条粉丝福利&#xff0c;如果你在学习Python或者有…

阿卡迈 Akamai 逆向分析4 代码分拆3

阿卡迈函数解析10_获取EET数值.js // 这个值如果代码刷新了会变化 EHpvmPAvvbSFFBR7gXeSMA // 后续考虑如何自动化 window global Th \x1F\x0FBA\rw!6M\x03h6\x18\x18\x15\x05P8B3\rz\\\x06 //会变化// 直接在浏览器copy出来的值错误\n会解析错误 // Th "BA\n"…

用户缓冲区

目录 1. 引入问题2. 用户缓冲区2.1 解答上述问题2.2 缓冲区刷新策略 3. 全缓冲案例 1. 引入问题 // 输出信息带换行&#xff0c;调用完后close(1) int main() { const char* s1 "this is fwrite\n"; …

数据手套横向对比:4款手套哪款适合您?

数据手套是与虚拟物体交互、记录手部动作以及制作手部动画的重要工具。数据手套根据类别可分为只传输动作数据的数据手套&#xff0c;拥有触觉震动反馈的触觉手套&#xff0c;带有外骨骼的力反馈手套等。这些手套根据功能性的不同可分别应用于不同行业之中&#xff0c;在本文中…

【项目功能扩展】在线网站 -用户管理功能(用户注册登录修改等、利用cookie存储用户会话状态)

文章目录 0. 前言开发环境 & 涉及技术 1. 宏观结构2. 后端部分① sqlite 管理类② user 管理类 3. 前端部分&#xff08;与后端交互&#xff09;① 登录② 注册③ 查看登录用户的信息④ 更新用户信息⑤ 登出用户 & 注销用户注意 效果演示 0. 前言 源码链接&#xff1a…

【Unity】简易而又实用的概率算法

1.两个数中任选一个&#xff08;抛硬币&#xff09; 基础版本&#xff1a; public int RandomBetweenTwoNumber(int a,int b) {float random Random.Range(0,1f);return radom<0.5f ? a : b ; } 升级版本&#xff08;支持概率调整&#xff09;&#xff1a; /*pa表示“…

并发编程:读写锁

一、ReentrantReadWriteLock 1.ReentrantReadWriteLock 是什么&#xff1f; ReentrantReadWriteLock 实现了 ReadWriteLock &#xff0c;是一个可重入的读写锁&#xff0c;既可以保证多个线程同时读的效率&#xff0c;同时又可以保证有写入操作时的线程安全。 public class …

CDGA|做好数据治理的几个策略,不看后悔

在当今这个数据驱动的时代&#xff0c;数据已成为企业最宝贵的资产之一。然而&#xff0c;随着数据量的爆炸性增长和来源的多样化&#xff0c;如何有效地管理和利用这些数据&#xff0c;即数据治理&#xff0c;成为了企业面临的重要挑战。 良好的数据治理不仅能够提升数据质量&…

中医世家龚洪海博士:用医术和真诚赢得患者的心

医生&#xff0c;可以说是世界上最伟大的人&#xff0c;他们以高超的医疗技术和崇高的职业道德&#xff0c;以患者为先&#xff0c;为患者带来生的奇迹&#xff0c;抚平患者的病痛&#xff0c;是生命忠诚的的捍卫者。明代御医龚廷贤龚氏传人龚洪海博士就是这样一个&#xff0c;…

英国数字化战略下的人工智能时代:挑战与发展机遇

文章目录 前言一、英国数字化转型初探二、数字化转型重点举措1、 供应链2、金融市场3、数字基础设施4、科学研究5、数字技术赋能绿色转型6、数字包容性7、国际合作:重视与发展中国家合作8、完善数字民主建设三、战略启示前言 后疫情时代,英国正面临包括首相更迭频繁导致的内…

AnyGPT:多模态语言模型,任意处理语音、图像和音乐

人工智能咨询培训老师叶梓 转载标明出处 大模型的能力大多局限于文本处理&#xff0c;而现实世界环境本质上是多模态的&#xff0c;涉及视觉、语言、声音和触觉等多种感知渠道。为了使LLM能够更好地模拟人类的多模态感知能力&#xff0c;复旦大学的研究团队提出了AnyGPT&#x…

巴西美客多广告打法,这样开广告有泼天的流量!

听说做巴西美客多本土店不需要开广告就有流量&#xff1f;这是真的吗&#xff1f;相信这对于一直在做欧美市场的卖家来说&#xff0c;简直是不敢相信&#xff0c;What? 有运营巴西美客多本土店铺多年的卖家说&#xff0c;确实是不开广告也能获得不错的流量&#xff0c;过去几…

汽车EDI:montaplast EDI对接

Montaplast 是一家总部位于德国的全球知名汽车零部件供应商&#xff0c;专注于高精度塑料部件的设计、开发和生产。公司成立于1958年&#xff0c;主要为汽车行业提供轻量化、高性能的塑料解决方案。Montaplast 以其在注塑成型技术、表面处理和装配技术方面的专业能力而著称&…