在Python中保存用于数据记录的扩展数据的数据类型

在Python中保存用于数据记录的扩展数据的数据类型,python,types,data-acquisition,Python,Types,Data Acquisition,我正在用Python编写一个串行数据记录器,我想知道哪种数据类型最适合这种情况。每隔几毫秒,从串行接口读取一个新值,并与当前时间一起保存到我的变量中。我不知道记录器将运行多长时间,因此无法预先分配已知的大小 直观地说,我会使用numpy数组来实现这一点,但是每次根据我所读的内容添加/连接元素都会创建一个新数组 那么,用于此目的的合适数据类型是什么 另外,描述这个问题的合适词汇表是什么?Python没有您在大多数语言中所认为的数组。它有“列表”,使用标准数组语法myList[0],但与数组不同,列

我正在用Python编写一个串行数据记录器,我想知道哪种数据类型最适合这种情况。每隔几毫秒,从串行接口读取一个新值,并与当前时间一起保存到我的变量中。我不知道记录器将运行多长时间,因此无法预先分配已知的大小

直观地说,我会使用numpy数组来实现这一点,但是每次根据我所读的内容添加/连接元素都会创建一个新数组

那么,用于此目的的合适数据类型是什么


另外,描述这个问题的合适词汇表是什么?

Python没有您在大多数语言中所认为的数组。它有“列表”,使用标准数组语法
myList[0]
,但与数组不同,列表可以根据需要更改大小。使用
myList.append(newItem)
您可以在列表中添加更多数据,而不会遇到任何麻烦


由于您要求在一个有用的概念中使用适当的词汇表,因此“链表”是一种在其他语言中实现类似数组的东西的方法,具有不同的长度。

在大多数语言中,Python没有您认为的数组。它有“列表”,使用标准数组语法
myList[0]
,但与数组不同,列表可以根据需要更改大小。使用
myList.append(newItem)
您可以在列表中添加更多数据,而不会遇到任何麻烦


由于您要求在一个有用的概念中使用适当的词汇表,因此“链表”是一种在其他语言中实现长度不等的类似数组的东西的方法。

这既是一个软件问题,也是一个硬件问题。如果您使用的是主流数据采集硬件,那么许多供应商都会发布特定于其设备的库。最好的解决方案可能取决于这样一个库的功能。你在寻找一个更通用的答案吗?是的,我在寻找一个通用的答案,数据是从Arduino获取的,Arduino只是读取ADC值并通过串行方式发送。听起来你想将所有内容都保存在内存中,而不是写入文件,但你可能会遇到一个限制:“每隔几毫秒读取一个新值”与“我不知道记录器将运行多长时间”听起来是导致令人沮丧的崩溃的有效途径。@JoeFriedrichsen的观点很好,但在我的例子中,它只运行了一个小时左右,在大约20 kB/s的速度下,内存不是问题(我每隔几秒钟就保存到磁盘上一次)。但我想我也可以预先分配500 MB的容量,我知道我不会完全填满。这既是一个软件问题,也是一个硬件问题。如果您使用的是主流数据采集硬件,许多供应商都会发布特定于其设备的库。最佳解决方案可能取决于此类库的功能。你在寻找一个更通用的答案吗?是的,我在寻找一个通用的答案,数据是从Arduino获取的,Arduino只是读取ADC值并通过串行方式发送。听起来你想将所有内容都保存在内存中,而不是写入文件,但你可能会遇到一个限制:“每隔几毫秒读取一个新值”与“我不知道记录器将运行多长时间”听起来像是一条导致令人沮丧的崩溃的有效途径。@JoeFriedrichsen说得很好,但在我的例子中,它只运行了一个小时左右,在大约20 kB/s的速度下,内存不是问题(我每隔几秒钟就保存到磁盘上一次)。但我想我也可以预先分配500 MB,我知道我不会完全填充。对不起,“数组”是指numpy数组,我编辑了它。好吧,Python也有,除了
numpy
对不起,“数组”是指numpy数组,我编辑了它。好吧,Python也有,除了
numpy