You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保存Python生成的数据数组并支持行列索引调用?

解决数组保存与索引调用的问题

问题根源

你之前用csv.DictWriter的方式会把数组存成单列的键值对结构,导入后无法直接作为二维数组通过data[i][j]索引。下面提供几种更直接的方案,满足你保存后能常规调用行、列元素的需求:


方案1:用Numpy(最适合数值型数组)

Numpy本身就是为数组操作设计的,保存和导入后直接是数组类型,原生支持data[i][j]索引。

保存代码

import numpy as np

# 假设Sevol是你的多维数组(比如二维数组)
Sevol = np.array([[1,2,3], [4,5,6], [7,8,9]])
# 保存为高效的.npy格式
np.save(path + '/data_Sevol.npy', Sevol)

# 如果一定要存成csv格式:
np.savetxt(path + '/data_Sevol.csv', Sevol, delimiter=',')

导入代码

import numpy as np

# 导入.npy文件
data = np.load(path + '/data_Sevol.npy')

# 导入csv文件
# data = np.loadtxt(path + '/data_Sevol.csv', delimiter=',')

# 直接索引调用
print(data[0])       # 获取第一行
print(data[0][1])    # 获取第一行第二列元素

方案2:用Pandas(适合带表头或混合类型数据)

如果需要保留表头或处理混合类型数据,用Pandas保存后可转成二维列表实现data[i][j]调用。

保存代码

import pandas as pd

# 假设Sevol是二维列表/数组
df = pd.DataFrame(Sevol)
# 不保存索引和表头(如需表头可去掉header=False)
df.to_csv(path + '/data_Sevol.csv', index=False, header=False)

导入代码

import pandas as pd

# 读取csv(header=None表示无表头)
df = pd.read_csv(path + '/data_Sevol.csv', header=None)
# 转成二维列表
data = df.values.tolist()

# 索引调用
print(data[0])       # 获取第一行
print(data[0][1])    # 获取第一行第二列元素

方案3:用Pickle(通用序列化,适合任意Python对象)

如果你的数组是普通Python列表,Pickle可以直接序列化整个对象,导入后和原对象完全一致。

保存代码

import pickle

# 假设Sevol是二维列表
with open(path + '/data_Sevol.pkl', 'wb') as f:
    pickle.dump(Sevol, f)

导入代码

import pickle

with open(path + '/data_Sevol.pkl', 'rb') as f:
    data = pickle.load(f)

# 直接索引调用
print(data[0][1])

内容的提问来源于stack exchange,提问作者User8563

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:25:28