从CSV文件中读取N%的行并写入另一个文件

时间:2016-10-19 06:01:58

标签: python-2.7 csv

我有一个包含大约5000行数据的CSV文件。我想阅读大约10%的数据(比如50行)。

例如: 假设我有一个包含1000行数据的csv文件。我需要做的是拿一个百分比的数据(比如10%,即10行)并将其放入另一个csv文件而不使用数据帧,即,不将数据放入内存,直接将其放入第二个csv文件。希望这能告诉你我需要什么。

2 个答案:

答案 0 :(得分:0)

很抱歉,我无法在python中对其进行编码,但原则是在您阅读CSV的每一行时,在[1..100]之间生成一个随机数,如果它更大将该行写入输出文件。

这种方法的好处是只需要一次将一行加载到内存中。

我是在awk here中完成的。

答案 1 :(得分:0)

如果不首先阅读它,您无法确定文件中有多少行。好吧,你可以,只有你知道你的文件大小和你所有的行都是固定的长度,这对于各种数据是相当怀疑的。另一方面,如果你提前知道文件中有多少行,你可以简单地打开两个文件,一个用于读取,另一个用于写入,并逐个读写for循环中的必要行。你根本不需要熊猫,例如:

Being Owner