如何将CSV中的特殊多维数据转换为my_data[n_of_samples][1936]二维数组
解决方案
可以用Python的csv模块结合列表推导来处理,步骤如下:
- 逐行读取CSV文件,对每行的每个单元格进行分割处理
- 将每个单元格内的浮点数按两个空格拆分,转换为数值类型
- 把一行中所有单元格的数值列表拼接成一个长度为1936的一维列表
- 最终将所有行的列表组合成二维数组
my_data
代码示例
import csv import numpy as np my_data = [] # 替换为你的CSV文件路径 with open('your_dataset.csv', 'r') as f: reader = csv.reader(f) # 若文件有表头,取消下面一行注释跳过表头 # next(reader) for row in reader: flattened_row = [] for cell in row: # 按两个空格分割,过滤空字符串避免转换错误 nums = [float(num) for num in cell.split(' ') if num.strip()] flattened_row.extend(nums) my_data.append(flattened_row) # 可选:转换为numpy数组方便后续数值操作 my_data = np.array(my_data) print(my_data.shape) # 输出应为 (样本数量, 1936)
注意事项
- 确认单元格内的分隔符确实是两个空格,若存在单个空格或制表符,需修改
split的参数 - 如果处理大文件,可考虑逐行处理后直接写入结果,避免内存占用过高
内容的提问来源于stack exchange,提问作者Moustafa
相关产品推荐
相关产品推荐

