因此,如果我有一个如下所示的 csv 文件:
User Gender
A M
B F
C F
然后我想编写另一个 csv 文件,其中行像这样打乱(作为示例):
User Gender
C F
A M
B F
我的问题是我不知道如何随机选择行并确保从原始 csv 文件中获取每一行。作为引用,我的 csv 文件大约 3gb。如果我将整个数据集加载到数据帧中并使用随机包对其进行洗牌,我的电脑会因 RAM 使用而崩溃。
最佳答案
可能最简单(也是最快)的是在 bash 中使用 shuf
!
shuf words.txt > shuffled_words.txt
(我知道您要求使用 Python 解决方案,但我认为这仍然是一个更好的答案)
要从 Python 以编程方式执行此操作:
import sh
sh.shuf("words.txt", out="shuffled_words.txt")
关于python-3.x - 如何在不使用太多内存的情况下打乱大型 csv 文件的行并将结果写入新的 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57973511/