三种读取方式如下:
import csv
import pandas as pd
with open('2.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
column1 = [row[1]for row in reader]
print(column1)
# 下面是按照列属性读取的
d = pd.read_csv('2.csv', usecols=['a', 'b'])
print(d)
# 这是表示读取前10行
d = pd.read_csv('2.csv', usecols=['a', 'b'], nrows=10)
读取完后对数据进行操作:
import pandas as pd
import numpy as np
# 2.csv文件内容如下:
# a,b,c,d,e
# 1,6,11,16,21
# 2,7,12,17,22
# 3,8,13,18,23
# 4,9,14,19,24
# 5,10,15,20,25
data = pd.read_csv('2.csv', usecols=['a', 'b'])
data = np.array(data)
c = data[1, 1]
print(c)
输出结果是 7。
通过读取指定行列 再转为ndarry格式数据 即可对数据进行任意的 剪切、拼接 等操作。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
值得注意的是,如果在读取的过程中指定了 iterator参数 那么读取到的对象类型就会发生变化:
data1 = pd.read_csv('2.csv', usecols=['a', 'b'])
print(type(data1))
data2 = pd.read_csv('2.csv', usecols=['a', 'b'], iterator=True)
print(type(data2))
输出结果为:
<class 'pandas.core.frame.DataFrame'>
<class 'pandas.io.parsers.TextFileReader'>
第一种可以进行正常的数据读取、转为列表等操作。
第二种是 指定了 iterator 参数后 返回的是 TextFileReader 对象,用于逐块处理文件,导致了对象类型发生了变化,不能继续转为ndarry格式的数据进行处理。
更多推荐
Python:读取CSV文件的某几列
发布评论