在数据处理中,有时需要从一个大的txt文件中随机抽取指定数量的行来做样本。如在处理不平衡数据集时,可以从较大的数据集中随机抽取一些数据来做样本。

下面用Python实现这一需求,可指定抽取范围和抽取数量,只需要更改参数。编码为utf-8。

# -*- coding:utf-8 -*-
#在txt文件中随机抽取行
import random
from random import randint
 
oldf = open('dataset.txt', 'r',encoding='utf-8')    #要被抽取的文件dataset.txt,共5000行
newf = open('randomtext.txt', 'w',encoding='utf-8')   #抽取的2000行写入randomtext.txt
n = 0
resultList = random.sample(range(0, 5000), 2000)  # sample(x,y)函数的作用是从序列x中,随机选择y个不重复的元素
 
lines = oldf.readlines()
for i in resultList:
    newf.write(lines[i])
oldf.close()
newf.close()

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐