Python读取csv文件的几种方法
有时候数据是以csv形式存储的,要处理数据我们需要先进行读取操作。这里我总结了几种csv的读取方法(基于python)。
1.利用numpy读取
import numpy as np data = np.loadtxt(open("路径.csv","rb"),delimiter=",",skiprows=n,usecols=[2,3])
delimiter是分隔符,skiprows是跳过前n行,usecols是使用的列数,例子中读取的是3,4列。
2.利用pandas读取
import pandas as pd data = pd.read_csv(rC:UserslenovoDesktopparttest.csv,sep=,,header=infer,usecols=[5])
同样地,sep相当于上面的delimiter,是分隔符。而这个函数中也包含delimiter,它属于备用的分隔符(csv用不同的分隔符分隔数据)。header是列名,是每一列的名字,如果header=1,将会以第二行作为列名,读取第二行以下的数据。usecols同上,是读取第几列。
值得注意的是,例如,我们查看某个值,print(data[1]),是会报错的。我们可以借由下面程序。
array=data.values[0::,0::] #读取全部行,全部列 print(array[]) #array是数组形式存储,顺序与data读取的数据顺序格式相同
3.利用Python I/O读取文件
import csv filename=C:\Users\lenovo\Desktop\parttest.csv data = [] with open(filename) as csvfile: csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件 #header = next(csv_reader) # 读取第一行每一列的标题 for row in csv_reader: # 将csv 文件中的数据保存到data中 data.append(row[5]) # 选择某一列加入到data数组中 print(data)
或者使用DictReader,第一行即作为标签。
import csv with open(filename) as csvfile: reader = csv.DictReader(csvfile) column = [row[weight] for row in reader] # weight 同列的数据 print(column)
还有其他的方法,这里也不再补充。