Python对txt进行读写操作

原文链接

全文件读写

读操作使用pandas.read_csv,写操作使用data.to_csv。

importnumpy

importpandasaspd

#读

data=pd.read_csv(r"/home/snowstorm/mmdetection/data/groundtruth.txt",header=None)#读取TXT:逗号分隔

#data = pd.read_csv(r"/home/snowstorm/mmdetection/data/groundtruth.txt", header=None, sep=' ') #读取TXT:空格分隔

print(data)

#写

data.to_csv("/home/snowstorm/mmdetection/data/write.txt",sep=',',header=False,index=False)

指定行列读写

importnumpy

#读数据

defloadDatadet(infile,k):

f=open(infile,'r')

sourceInLine=f.readlines()

dataset= []

forlineinsourceInLine:#读数据

temp1=line.strip('\n')

temp2=temp1.split('\t')

dataset.append(temp2)


foriinrange(0,len(dataset)):#转为整数

forjinrange(k):

dataset[i].append(int(dataset[i][j]))

del(dataset[i][0:k])

list=sum(dataset,[])#变成一维数组

posit_data=numpy.array(list).reshape(len(list)//4,4)#变为n*4的二维数组

returnposit_data

#写数据

defWritedata(negat_data):

filename='C:\\Users\\DZF\\Desktop\\negative.txt'#要写入的文件

row=numpy.array(negat_data).shape[0]#获取行数n

withopen(filename,'w')asf:# 若filename不存在会自动创建,写之前会清空文件

foriinrange(0,row):

f.write(str(negat_data[i][0:12]))

f.write("\n")



infile='C:\\Users\\snow\\Desktop\\positive.txt'#要读取的文件

k=1#列数

posit_data=loadDatadet(infile,k)

Writedata(posit_data)

print(posit_data)

学习更多编程知识,请关注我的公众号:

代码的路

你可能感兴趣的:(Python对txt进行读写操作)