ubuntu 下python处理txt文件(txt,numpy数组)

1 删除、保留txt文件的某几列

with open('cal5cam.txt', 'r') as f: 
    lines = f.readlines() 
    new_lines = [] 
    for line in lines[1:]: 
        elements = line.split(',') 
        new_line = ','.join(elements[9:16]) # 保留第9-16列数据
        new_line += '\n'
        new_lines.append(new_line) 
with open('cal5cam_output.txt', 'w') as f: 
    f.writelines(new_lines)

2 随机删除txt行数据

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

3 读取txt数据并转为数组

f = open('/home/wyh/Downloads/txt/cal1cam_real.txt','r')
txt = []
data_list = []
for line in f.readlines():
    curline=line.strip().split(",")
    txt.append(curline[:])
    temp= list(map(float,curline))
    data_list.append(temp[:])
    data_array = np.array(data_list)
# print(txt)
print(data_array)
print(data_array[0])
print(data_array[0][0])
print(data_array.shape) #数据
print(len(data_array))

4 将数组保存到txt文件

m_maen=[…]
m_median=[…]

np.savetxt('arr1.txt', (m_mean, m_median), fmt="%.5f", delimiter=",")

result:

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值