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

一. 解决思路

解决思路:将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)
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的。基于 PyTorch,您可以使用 Python 的标准库 csv 模块来读取 CSV 文件。 下面是一个示例代码,展示了如何读取 CSV 文件中的指定行和列的数据: ``` import csv # 读取 CSV 文件 with open('example.csv', 'r') as file: # 创建 CSV 阅读器 reader = csv.reader(file) # 读取指定行 for i, row in enumerate(reader): # 如果当前行为第 3 行 if i == 2: # 读取指定列的数据 col_2 = row[1] col_3 = row[2] break # 输出读取数据 print(col_2) print(col_3) ``` 在这个示例中,我们使用 Python 的 with 语句打开了 CSV 文件,然后使用 csv 模块的 reader 函数创建了一个 CSV 阅读器。接下来,我们使用 for 循环遍历 CSV 文件中的每一行,并使用 enumerate 函数获取当前行的行号。如果当前行的行号为 2,则使用索引获取指定列的数据。最后,我们输出读取数据。 希望这能帮到你! ### 回答2: 在使用PyTorch读取CSV文件的过程中,可以借助`pandas`库进行数据的预处理和读取。首先,我们需要导入所需的库,包括`pandas`和`torch`: ```python import pandas as pd import torch ``` 接下来,我们可以使用`pandas`的`read_csv()`函数读取CSV文件,并将其存储在一个DataFrame中: ```python df = pd.read_csv('data.csv') ``` 要读取指定的行和列,可以使用DataFrame的`iloc`方法。例如,如果要读取第2行和第3列的数据,可以使用以下代码: ```python data = df.iloc[1, 2] ``` 这将返回DataFrame中第2行(索引为1)和第3列(索引为2)的数据。如果要读取多行或多列的数据,可以将`iloc`方法与切片语法结合使用。下面的例子是读取第2到第4行的所有列数据: ```python data = df.iloc[1:4, :] ``` 此时,`data`将包含第2到第4行的所有列数据。 最后,如果要将读取到的数据转换为PyTorch张量,可以使用`torch.tensor()`函数: ```python tensor_data = torch.tensor(data.values) ``` 这将把DataFrame转换为PyTorch张量。请注意,`values`属性将DataFrame中的数据转换为NumPy数组。 综上所述,以上是基于PyTorch读取CSV文件指定行和列数据的方法。希望能对你有所帮助! ### 回答3: 在基于PyTorch的环境中,可以使用pandas库来读取CSV文件,并选择指定行和列的数据。以下是一个简单的代码示例: 首先,需要安装pandas库,可以使用以下命令进行安装: ``` pip install pandas ``` 接下来,导入所需要的库: ```python import pandas as pd ``` 然后,使用pandas的`read_csv`函数来读取CSV文件,将数据存储在一个DataFrame中: ```python data = pd.read_csv('data.csv') ``` 假设CSV文件的第一行是列名,数据从第二行开始。要选择指定行和列的数据,可以使用DataFrame的`iloc`方法。例如,要选择第3行和第4列的数据,可以使用以下代码: ```python selected_data = data.iloc[2, 3] ``` 这将返回一个具体的数值。如果要选择多行或多列的数据,可以使用切片(slice)来指定范围: ```python selected_rows = data.iloc[2:5, :] # 选择第3到第5行的所有列的数据 selected_columns = data.iloc[:, 1:4] # 选择第2到第4列的所有行的数据 ``` 最后,可以将选定的数据转换为PyTorch张量进行进一步处理: ```python import torch selected_tensor = torch.tensor(selected_data.values) ``` 以上就是基于PyTorch如何读取CSV文件中指定行和列的数据的简要示例。请注意,这只是一个简单的示例,具体实现可能因情况而异。根据实际需求,可能需要进行更多的数据处理和转换操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值