python提取txt文件前多少行,列的范围提取

提取txt文件前多少行:

def read_save_txt(file_path, file_save, extract=10):
    with open(file_path, 'r') as f:
        item = []
        cnt = 0
        k = f.readlines()        #一次读取所有行
        for i in k:             #一次取一行给i
            cnt += 1
            if cnt <= extract:          #提取前多少行
                for j in i.split():     #.split是将字符串分隔开,一次取一行中的一个字符串
                    item.append(j)
                    item.append('\t')       #加上空格
                item.append(str('\n'))

    with open(file_save, 'w') as f:
        for i in item:
            f.write(str(i))

if __name__ == "__main__":
    file_path = './2.txt'
    file_save = './4.txt'
    read_save_txt(file_path, file_save, 5)      #文件路径 , 保存路径  , 提取前多少行

提取前多少行,以及列的范围(比如提取前五行,第3-5列的数据):

def read_save_txt(file_path, file_save, extract=10, col1=3, col2=5):
    with open(file_path, 'r') as f:
        item = []       #用来存储读取的字符
        cnt = 0         #用来行的计数
        k = f.readlines()        #一次只读取所有行
        for i in k:             #一次取一行给i
            cnt += 1
            count = 0           #提取列的计数,每重新换行进行清零
            if cnt <= extract:          #提取前多少行,默认是10行
                for j in i.split():     #.split是将字符串分隔开,一次取一行中的一个字符串
                    count += 1
                    if count >= col1 and count <= col2:
                        item.append(j)
                        item.append('\t')       #加上空格

                item.append(str('\n'))
    print(item)
    
    with open(file_save, 'w') as f:
        for i in item:
            f.write(str(i))

if __name__ == "__main__":
    file_path = './2.txt'
    file_save = './5.txt'
    read_save_txt(file_path, file_save, 5, 3, 5)      #文件路径 , 保存路径  , 提取前多少行  ,  起始列, 终止列
要是对提取的数据进行一定范围的提取:用float(j)先将字符串转换成浮点数字再比较筛选。

你可能感兴趣的:(大数据,python)