我有一个关于Python速度/效率的问题:
我需要编写大量非常大的R数据框文件,大小约为0.5-2 GB。这基本上是一个大的制表符分隔表,其中每行可能包含浮点数、整数和字符串。
通常情况下,我会将所有数据放入NumPy数据框中,并使用np.savetxt保存它,但由于存在不同的数据类型,它无法真正放入一个数组中。
因此,我已经简单地手动组装了这些行作为字符串,但这有点慢。到目前为止,我的步骤是:
1) 将每行组装成字符串 2) 连接所有行成单个巨大的字符串 3) 将字符串写入文件
我有几个问题:
1) 大量字符串连接最终需要花费很多时间 2) 我的内存不足以保留所有字符串 3) ...这反过来又导致更多的单独的file.write命令,这也非常慢。
所以我的问题是:这种问题的好例程是什么?它平衡了速度与内存消耗,实现了最有效的字符串连接和写入磁盘。
...或者也许这个策略只是不好,我应该做完全不同的事情?
感谢您的帮助!
我需要编写大量非常大的R数据框文件,大小约为0.5-2 GB。这基本上是一个大的制表符分隔表,其中每行可能包含浮点数、整数和字符串。
通常情况下,我会将所有数据放入NumPy数据框中,并使用np.savetxt保存它,但由于存在不同的数据类型,它无法真正放入一个数组中。
因此,我已经简单地手动组装了这些行作为字符串,但这有点慢。到目前为止,我的步骤是:
1) 将每行组装成字符串 2) 连接所有行成单个巨大的字符串 3) 将字符串写入文件
我有几个问题:
1) 大量字符串连接最终需要花费很多时间 2) 我的内存不足以保留所有字符串 3) ...这反过来又导致更多的单独的file.write命令,这也非常慢。
所以我的问题是:这种问题的好例程是什么?它平衡了速度与内存消耗,实现了最有效的字符串连接和写入磁盘。
...或者也许这个策略只是不好,我应该做完全不同的事情?
感谢您的帮助!