批量删除txt文件最后一列-python

文章目录

  • 问题
  • python解决

问题

做实验时遇到的一个问题,需要将txt文件中前两列数据取出来作图,但文件中还有其他列,这时需要删除最后一列,一般文件至少1000行,手动删太麻烦,所以用python实现批量删除

原始数据如下:
批量删除txt文件最后一列-python_第1张图片
想要的效果如下:
批量删除txt文件最后一列-python_第2张图片

python解决

import numpy as np
import os
def dataprocess():
    # read
    data = []
    # res_path = os.path.abspath(os.path.join(os.path.dirname("__file__"), os.path.pardir))  # /src
    res_path = "/code//log.txt"  # 改路径
    
    with open(res_path, 'r') as f:
        for line in f.readlines():
            data.append(line[:-1].split(','))
    data = np.array(data)
    print(data.shape)

    # data process
    data2 = []
    for index, row in enumerate(data.T):
        if index < len(data.T)-1:
            data2.append(row)
    data2 = np.array(data2)
    print(data2)                 # 拿到了前2列数据

    # write
    a = data2.T
    with open(res_path, 'w') as f:
        for i in range(len(a)):
            for j in range(0, 2):
                if j == 0:
                    f.write(str(a[i][j]) + ',')
                else:
                    f.write(str(a[i][j]) + '\n')

dataprocess()

你可能感兴趣的:(Python,python,开发语言)