使用python读取数据。

1. python读取CSV文件

import csv

# 读取csv至字典
csvFile = open(r'G:\训练小样本.csv', "r")
reader = csv.reader(csvFile)
#print(reader)

# 建立空字典
result = {}
j=0

for item in reader:
    result[j]=item
    print(item)
csv.close()

把数据存储在字典上
如果不对CSV的第一行和第一列和最后一列读取的话,处理如下:

import csv

# 读取csv至字典
csvFile = open(r'G:\训练小样本.csv', "r")
reader = csv.reader(csvFile)
#print(reader)

# 建立空字典
result = {}

i=0
for item in reader:
    if reader.line_num==1:
        continue
    result[i]=item
    i=i+1

j=0
x={}
y={}
for i in list(range(29)):
    x[j]=result[i][1:-1]
    y[j]=result[i][-1]
    print(x[j])
    print(y[j])
    j=j+1

csvFile.close()

1.2 对csv第一行、第一列不进行读取,并且把csv数据格式转换成float格式。

#"CNN持久模型" 的数据读取部分

# Load a CSV file
def loadCSV(filename):#加载数据,一行行的存入列表  
	dataSet = []  
	with open(filename, 'r') as file:  
		csvReader = csv.reader(file)
		for line in csvReader:  
			if csvReader.line_num==1:
				continue
			dataSet.append(line)  
	return dataSet  

# 除了标签列,其他列都转换为float类型  
def column_to_float(dataSet):  
    featLen = len(dataSet[0])  
    for data in dataSet:  
        for column in range(featLen):  
            data[column] = float(data[column].strip())  

dataSet = loadCSV(r'G:\0研究生\tianchiCompetition\训练小样本.csv')  

for i in range(len(dataSet)):
	
	dataSet[i].pop(0)
	
column_to_float(dataSet) 

#第二种方法
i=0
result={}

for item2 in dataSet:  
  
    result[i]=item2
    i=i+1

##字典转换成list

X=[]
Y=[]
X=list(list(result.values()))

for i in range(len(X)):
	Y.append(X[i].pop())
	
print('X',X)
print('Y',Y)

1.4直接用list进行存储数据,但是存储的是str格式的num

vx=[]#定义验证集的空列表
csvFile = open(r'G:\小样本.csv', "r")
reader = csv.reader(csvFile)
for item in reader:
    # if reader.line_num==1:
        # continue
    vx.append(item)

for i in range(len(vx)):
	vx[i].pop()  
print('vx',vx)

1.5 针对1.4的改进,直接实现通过list读取数据,而且保持数据的格式为float类型,而不再是str类型

#读取数据方法2
#####默认最后一列是label列,读取存放在Y[]
X=[]
Y=[]			#定义空列表
csvFile = open(r"G:\小样本3_label.csv", "r")
reader = csv.reader(csvFile)
for item in reader:
	# if reader.line_num==1:
		# continue
	item=[float(ii) for ii in item]
	X.append(item)

###把读取的数据转化成float格式
	
for i in range(len(X)):
    Y.append(X[i].pop())

print('x',X)
print('Y',Y)