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(r'C:\Users\lenovo\Desktop\parttest.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)
还有其他的方法,这里也不再补充。
————————————————
版权声明:本文为CSDN博主「domoNaruto」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/domoNaruto/article/details/81193281