Python對(duì)txt進(jìn)行讀寫操作

原文鏈接

全文件讀寫

讀操作使用pandas.read_csv,寫操作使用data.to_csv。

import numpy
import pandas as pd

#讀
data = pd.read_csv(r"/home/snowstorm/mmdetection/data/groundtruth.txt", header=None) #讀取TXT:逗號(hào)分隔
#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)

指定行列讀寫

import numpy

#讀數(shù)據(jù)
def loadDatadet(infile,k):
    f = open(infile,'r')
    sourceInLine = f.readlines()
    dataset = []
    for line in sourceInLine:    #讀數(shù)據(jù)
        temp1 = line.strip('\n')
        temp2 = temp1.split('\t')
        dataset.append(temp2)
        
    for i in range(0,len(dataset)):   #轉(zhuǎn)為整數(shù)
        for j in range(k):
            dataset[i].append(int(dataset[i][j]))
        del(dataset[i][0:k])
        list = sum(dataset,[])        #變成一維數(shù)組
        posit_data = numpy.array(list).reshape(len(list)//4,4) #變?yōu)閚*4的二維數(shù)組
    return posit_data


#寫數(shù)據(jù)
def Writedata(negat_data):
    filename = 'C:\\Users\\DZF\\Desktop\\negative.txt'  #要寫入的文件
    row = numpy.array(negat_data).shape[0]   #獲取行數(shù)n
    with open(filename,'w') as f: # 若filename不存在會(huì)自動(dòng)創(chuàng)建,寫之前會(huì)清空文件
        for i in range(0,row):
            f.write(str(negat_data[i][0:12]))
            f.write("\n")
        
    
infile = 'C:\\Users\\snow\\Desktop\\positive.txt'   #要讀取的文件
k = 1        #列數(shù)
posit_data = loadDatadet(infile,k)
Writedata(posit_data)

print(posit_data)

學(xué)習(xí)更多編程知識(shí),請(qǐng)關(guān)注我的公眾號(hào):

代碼的路

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容