使用np.savetxt保存二维数组到CSV文件时缺失零列的问题
解决numpy savetxt保存二维数组丢失列的问题
你的问题出在同时设置了delimiter=','和fmt='%d,%d',这两个参数的作用冲突了:
- 当指定
delimiter=','时,fmt应该用来定义单个元素的格式,numpy会自动用分隔符把每列元素拼接起来 - 如果你在
fmt里已经写了逗号作为分隔(%d,%d),就不需要再设置delimiter参数,否则会导致格式解析错误,丢失列数据
给你两种可行的解决代码:
方案一:保留delimiter,使用单个元素格式
np.savetxt("file.csv", array, delimiter=',', fmt='%d')
这个写法让numpy把每行的每个元素都格式化为整数,再用逗号分隔,最终每行输出1,0、2,0这样的内容。
方案二:用fmt包含分隔符,不设置delimiter
np.savetxt("file.csv", array, fmt='%d,%d')
这里直接在格式字符串里指定了列之间的逗号分隔,numpy会按照这个格式直接生成每行内容,不需要额外的分隔符参数。
两种方案都能正确保存你的二维数组,让CSV文件包含两列数据。
内容的提问来源于stack exchange,提问作者wiki 49
相关产品推荐
相关产品推荐

