numpy CSV文件中缺少列

2guxujil  于 2022-11-24  发布在  其他
关注(0)|答案(2)|浏览(146)

我有一个二维数组,看起来像这样:

[[1 0]
[2 0]
[3 0]
[4 0]
...

并且我想将其保存为csv文件,我知道必须使用to_csv来执行此操作。
于是我试探着做着:np.savetxt(“file.csv”,array,delimiter =',',fmt='%d,% d'),%d是将数据存储为int而不是默认格式但我的csv文件只包含第一列而不是零列。

osh3o9ms

osh3o9ms1#

你确定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中):

In [237]: np.savetxt("file.csv",arr,delimiter=',',fmt='%d,%d')

In [238]: !more file.csv
1,0
2,0
3,0
4,0
wlzqhblo

wlzqhblo2#

你不必使用to_csv。你可能会从自己的代码中受益。从一个numpy数组(或任何其他简单的数据结构)写入一个csv文件只需要几行代码。
一般结构...
使用上下文管理器以写入模式打开文件...

with open('my_csv.csv', 'w') as f:

在其中创建一个循环以遍历数组中的行。
通过将元素转换为字符串并使用另一个循环(或使用join命令)写入,在元素之间使用逗号写入行
写入一个换行符以开始下一行。
给予一试。如果你被卡住了,请评论。

相关问题