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)
学习更多编程知识,请关注我的公众号: