python從txt文件讀取數據


  (作為一個python初學者,記錄一點學習期間的筆記,方便日后查閱,若有錯誤或者更加便捷的方法,望指出!)

 1、讀取TXT文件數據,並對其中部分數據進行划分。一部分作為訓練集數據,一部分作為測試集數據:

def loadData(filename,split,trainingSet=[],testSet=[]):
    with open(filename,'r') as file:
        lines = file.readlines()
        dataset = [[] for i in range(len(lines)-1)]
        for i in range(len(dataset)):
            dataset[i][:] = (item for item in lines[i].strip().split(','))   # 逐行讀取數據
        print("dateset:",dataset)
        for x in range(len(dataset)):
            for y in range(len(dataset[0])-1):
                dataset[x][y] = float(dataset[x][y])          # 將除最后一列的數據轉化為浮點型
            if random.random() < split:                # 將數據集進行划分
                trainingSet.append(dataset[x])
            else:
                testSet.append(dataset[x])
    print("trainingSet",len(trainingSet))
    print("testset",len(testSet))

loadData('irisdata.txt',0.8)

 



2、提取csv文件中的數據,把特征值轉化為:特征名稱:特征值 的字典格式,用於調用sklearn庫。
轉換結果如圖:
with open("AllElectronics.csv", 'r') as file:
    data_lines = file.readlines()
    data = [[] for i in data_lines]
    for i in range(len(data_lines)):
        data[i][:] = (item for item in data_lines[i].strip().split(","))

headers = []
featureList = []
labelList = []
for i in data[0]:
    headers.append(i)  # 提取第一行類別名稱
del(data[0])

for row in data:
    labelList.append(row[-1])
    rowDict = {}
    for i in range(1,len(row)-1):    # 把每一行轉換成一個字典,便於直接利用sklearn直接提供的庫函數
        rowDict[headers[i]] = row[i]
    featureList.append(rowDict)
print(labelList)
print(featureList)

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM