Python:读取CSV文件的某几列

本文介绍了使用Python的csv和pandas库读取CSV文件的三种方法,包括按列读取、读取指定行数及将数据转换为ndarray格式进行操作。同时,对比了使用iterator参数前后读取对象类型的差异。
部署运行你感兴趣的模型镜像

三种读取方式如下:

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格式的数据进行处理。

 

 

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值