问题
做实验时遇到的一个问题,需要将txt文件中前两列数据取出来作图,但文件中还有其他列,这时需要删除最后一列,一般文件至少1000行,手动删太麻烦,所以用python实现批量删除
原始数据如下:
想要的效果如下:
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()