使用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)