python入门系列(8): Python读取CSV数据的实现
Python入门书籍推荐:《Python编程:从入门到实践》 #生活知识# #编程教程#
使用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() 123456789101112131415
把数据存储在字典上
如果不对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()
123456789101112131415161718192021222324252627281.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:continuedataSet.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)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647481.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) 123456789101112
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:# continueitem=[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)
12345678910111213141516171819参考:
python读写CSV文件;myself_python读写csv文件网址:python入门系列(8): Python读取CSV数据的实现 https://www.yuejiaxmz.com/news/view/965882
相关内容
Python合并多个csv文件(Python)组合数据:Python中的列表、元组、集合
【Python学习】10个Python脚本轻松实现日常任务自动化!
使用python处理csv数据的常规做法
彻底改变日常生活:使用 Python 实现自动化
python数据分析之读写txt文件
Python脚本操作实现快速自动化任务的技巧与方法
10个Python脚本,轻松实现日常任务自动化!
Python数据分析实战
十个Python脚本,轻松实现日常任务自动化