当前位置: 首页 > 面试题库 >

numpy将不同类型的数组保存到文本文件

齐凯康
2023-03-14
问题内容

说我有以下numpy结构化数组:

>>> a = numpy.array((1, 2.0, 'buckle_my_shoe'),dtype=('i4,f8,a14')) 
array((1, 2.0, 'buckle_my_shoe'), 
  dtype=[('f0', '<i4'), ('f1', '<f8'), ('f2', 'S14')])

我想 将其保存到文本文件中的单个空格或制表符分隔的行中
。如果数组都是相同的类型,我可以使用numpy.savetxt('myfile.dat,myarray,newline=" ")。但是,这似乎不喜欢混合数据类型/结构化数组,例如:

file('myfile.dat', 'a')
numpy.savetxt('myfile.dat',a,newline=" ")

给出此错误:

IndexError: tuple index out of range

任何人都可以推荐这样做的方法吗?


问题答案:

编辑 :无论出于什么原因,我似乎都无法单独回答这个问题,因此这是一个更清洁的版本,它不需要使用csv模块。记录下来,@
askewchan的答案还是更好!

a = numpy.array([(1, 2.0, 'buckle_my_shoe'),
                 (3,4.0,'lock_the_door')],dtype=('i4,f8,a14'))
with open('test.txt','w') as f:
     f.write(' '.join([str(item) for sublist in a for item in sublist]))
print open('test.txt','r').read()

输出:

1 2.0 buckle_my_shoe 3 4.0 lock_the_door


 类似资料:
  • 我有一个这样的 txt 文件 163钱滴24 454快乐112 45 没有你什么都没有 56 第一个数字是歌曲的id,我想将其存储为整数,第二个数字是字符串!这不是一个词!第三个是整数,它是歌曲的点赞数。我想将它们存储在一个数组中,但当我使用scanner方法时,我会逐字存储它们,当歌曲有名字时 有什么方法可以读取 txt 文件,将第一个数字存储为 int,然后扫描整个字符串(歌曲名称),直到下一

  • 我有一个类似tmp的RDD。 其值如下所示。

  • 问题内容: 说我有一个包含以下内容的文件: 如何将数据作为整数,浮点数和字符串从文件导入到numpy数组中? 我的目标是: 我一直在玩以下无济于事: 编辑:另一种方法可能是使用ndarray类型,然后进行转换。 问题答案: 用途:

  • 问题内容: 我有两个不同的数组,一个带有字符串,另一个带有整数。我想将它们连接成一个数组,其中每一列都具有原始数据类型。我当前执行此操作的解决方案(请参见下文)将整个数组转换为dtype = string,这似乎在内存方面效率很低。 何时和何时可能使dtypes多元化? 问题答案: 一种方法可能是使用记录数组。“列”与标准numpy数组的列不同,但是对于大多数用例来说,这就足够了: 请注意,您还可

  • 本文向大家介绍使用pandas将numpy中的数组数据保存到csv文件的方法,包括了使用pandas将numpy中的数组数据保存到csv文件的方法的使用技巧和注意事项,需要的朋友参考一下 接触pandas之后感觉它的很多功能似乎跟numpy有一定的重复,尤其是各种运算。不过,简单的了解之后发现在数据管理上pandas有着更为丰富的管理方式,其中一个很大的优点就是多出了对数据文件的管理。 如果想保存

  • 问题内容: 我在所有技术术语上都不是很好,所以我会尽力解释我的问题。 我已经编写了一个小脚本来打开android SDK并检查连接的设备(使用Windows 10和python 2.7.14)。我得到的代码如下: 一切正常,但我想将最后3行保存到文本文件中。我尝试过使用并将其全部转换为字符串并将其写入文件并关闭它,但是它不起作用。它甚至都没有创建文件,更不用说向它写入任何内容了。 我可能缺少一些关