在Python機器學習中,如何讀取CSV資料呢,可以通過cvs或者pandas兩種方式讀取。
def Load_csv(csv_file_name="test.csv"):
"""
從CSV檔案中讀取資料資訊
:param csv_file_name: CSV檔案名
:return: Data:二維數組
"""
import csv
csv_reader = csv.reader(open(csv_file_name))
Data=[]
for row in csv_reader:
Data.append(row)
print("Read All!")
return Data
def get_mnist_test_data():
"""label 在前,相應的參數可以根據實際需求更改"""
import pandas as pd
import numpy as np
data = pd.read_csv('Train.csv')
images = data.iloc[:,1:].values
labels = data.iloc[:,:1].values.ravel()
images = np.multiply(images,1.0/255.0)
images = images.reshape(images.shape[0],1,28,28)
# print(images)
return images,labels
def get_mnist_test_data1():
"""label在後,相應的參數可以根據實際需求更改"""
import pandas as pd
import numpy as np
data = pd.read_csv('Train.csv')
images = data.iloc[:,0:784].values
labels = data.iloc[:,784:785].values.ravel()
images = np.multiply(images,1.0/255.0)
images = images.reshape(images.shape[0],1,28,28)
return images,labels
如何将檔案中的圖像資料存儲成CSV檔案呢?通過資料把圖像資料.append到數組中,然後通過CSV将數組中的資料下入CSV檔案。
def Write_csv(Data=[[None]],csv_file_name="Train.csv"):
"""
向CSV檔案中寫入資料資訊,有标簽的話存放在資料最後位
:param csv_file_name: CSV檔案名
:return: None,檔案夾中會顯示寫入的資料資訊
"""
import csv
with open(csv_file_name,"w",newline='') as csvfile:
writer = csv.writer(csvfile)#寫出來存在逗号
# 沒有逗号的寫入方式,但是在讀取的時候需要更改并處理資料
# writer=csv.writer(csvfile, delimiter=' ',quotechar='|', quoting=csv.QUOTE_MINIMAL)
#寫入多行用writerows,寫入單行用writerow
writer.writerows(Data)
print("Write All!")
def Write_Data():
import os
import cv2
#第一層檔案夾目錄
filename="..\\imgout\\"
Data = []
for file_1 in os.listdir(filename):
#第二層檔案夾目錄,第一層檔案夾下的下一層檔案夾目錄
# print(file_1)file_1為檔案名
filename_1 = os.path.join(filename, file_1)
Data_tmp = []
# print(file_1)
for file_2 in os.listdir(filename_1):
#第三層檔案夾,找到對應檔案的位址
filename_2 = os.path.join(filename_1, file_2)
Data_tmp1=[]
# print(filename_2)
img = cv2.imread(filename_2,0)
w,h=img.shape[:2]
# data=np.reshape(img,[w*h])
for i in range(w):
for j in range(h):
Data_tmp1.append(img[i,j])
#添加标簽
Data_tmp1.append(file_1)
Data_tmp.append(Data_tmp1)
Data=Data+Data_tmp
Write_csv(Data)
下面是TensorFlow的資料制作:https://blog.csdn.net/zx520113/article/details/84556489