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)

还有其他的方法,这里也不再补充。 


猜你喜欢

转载自blog.csdn.net/domoNaruto/article/details/81193281