如何在Python中将含numpy数组的列表保存为指定格式CSV
解决numpy数组列表保存为单行带逗号CSV的问题
你当前的问题出在直接将sigma1转成字符串写入文件——numpy数组的默认字符串输出自带换行,列表的字符串表示还会包含多余的括号和换行符,导致最终输出格式不符合预期。以下是两种可行的解决方案:
方案一:用csv模块规范写入(推荐)
利用csv.writer的writerow方法,自动处理逗号分隔逻辑:
import numpy as np import csv sigma1 = [np.array([[0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109]])] # 取出数组并扁平化转为一维Python列表 data = sigma1[0].flatten().tolist() with open('Data_sigma.csv', 'w', newline='') as f: writer = csv.writer(f) writer.writerow(['sigma']) # 写入标题行 writer.writerow(data) # 自动用逗号分隔数据为单行
方案二:手动拼接字符串写入(适合简单场景)
直接将数组元素转成字符串后拼接成逗号分隔的单行:
import numpy as np sigma1 = [np.array([[0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109], [0.02109]])] data = sigma1[0].flatten().tolist() data_str = ','.join(map(str, data)) # 拼接成逗号分隔的字符串 with open('Data_sigma.csv', 'w') as f: f.write('sigma\n') f.write(data_str)
两种方案最终都会生成符合预期的输出:
sigma 0.02109,0.02109,0.02109,0.02109,0.02109,0.02109,0.02109,0.02109,0.02109,0.02109,0.02109,0.02109
内容的提问来源于stack exchange,提问作者user19862793
相关产品推荐
相关产品推荐

