【Python】list 类型的保存与读取

【Python】list 类型的保存与读取

1. 介绍

对于np.array是格式化的数据,其有配套的保存与读取函数。但是对于list其可能是不等长的,因此没有发现可用的函数去进行list数据的保存与读取。

针对以下问题,在 2 中代码进行实现:

  • 数据的格式为list类型,其中每个元素也是一个list类型数据,里面的元素是浮点型。

2. 代码实现

2.1 每个 list 的长度相同

可以直接转成array类型再存储起来,可以仿照np.array的保存、读取操作。

# save
 np.savetxt( "X.txt",np.array(X))
# load
 X = list(np.loadtxt("X.txt"))

2.2 每个list元素大小不同

如果 list 数据里的元素维度不同的话,这样转成array保存是会报错的。需要改成这样。

1)保存:

file = open( "X.txt", 'w')
for fp in X:
    file.write(str(fp))
    file.write('\n')
file.close()

2)读取:读取的时候读到的数据都是 list 的没错,但是里面的元素变成了字符串类型了,这时候需要每行的字符串数据再转成 list。

file = open("/X.txt", 'r')
X = file.readlines()#直接每行读取
n=len(X)
for i in range(n):
   X[i] = X[i].strip()#去除后面的换行元素
   X[i]=X[i].strip("[]")#去除列表的[]符号
   X[i] = X[i].split(",")#根据‘,’来将字符串分割成单个元素
   X[i] = list(map(float, X[i]))#分离出来的单个元素也是字符串类型的,将其转成浮点
########下面的代码用来处理原数据中含有nan值的情况,将nan置0,如果无nan值或者不需要转换可省略#####
   narry=np.array(X[i])
   where_are_nan = np.isnan(narry)
   narry[where_are_nan] = 0
   X[i]=narry.tolist()
file.close()
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋冬无暖阳°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值