我有一个二维数组,看起来像这样:
[[1 0] [2 0] [3 0] [4 0] ...
并且我想将其保存为csv文件,我知道必须使用to_csv来执行此操作。于是我试探着做着:np.savetxt(“file.csv”,array,delimiter =',',fmt='%d,% d'),%d是将数据存储为int而不是默认格式但我的csv文件只包含第一列而不是零列。
osh3o9ms1#
你确定array是你说的吗?如果我把它弄新鲜的:
array
In [234]: arr = np.array([[1, 0], ...: [2, 0], ...: [3, 0], ...: [4, 0]]) In [235]: arr Out[235]: array([[1, 0], [2, 0], [3, 0], [4, 0]])
您的savetxt运行良好(不需要delimiter参数,因为已将其包含在fmt中):
savetxt
In [237]: np.savetxt("file.csv",arr,delimiter=',',fmt='%d,%d') In [238]: !more file.csv 1,0 2,0 3,0 4,0
wlzqhblo2#
你不必使用to_csv。你可能会从自己的代码中受益。从一个numpy数组(或任何其他简单的数据结构)写入一个csv文件只需要几行代码。一般结构...使用上下文管理器以写入模式打开文件...
to_csv
with open('my_csv.csv', 'w') as f:
在其中创建一个循环以遍历数组中的行。通过将元素转换为字符串并使用另一个循环(或使用join命令)写入,在元素之间使用逗号写入行写入一个换行符以开始下一行。给予一试。如果你被卡住了,请评论。
join
2条答案
按热度按时间osh3o9ms1#
你确定
array
是你说的吗?如果我把它弄新鲜的:您的
savetxt
运行良好(不需要delimiter参数,因为已将其包含在fmt中):wlzqhblo2#
你不必使用
to_csv
。你可能会从自己的代码中受益。从一个numpy数组(或任何其他简单的数据结构)写入一个csv文件只需要几行代码。一般结构...
使用上下文管理器以写入模式打开文件...
在其中创建一个循环以遍历数组中的行。
通过将元素转换为字符串并使用另一个循环(或使用
join
命令)写入,在元素之间使用逗号写入行写入一个换行符以开始下一行。
给予一试。如果你被卡住了,请评论。