python中读取csv文件指定列

该文章已生成可运行项目,

在Python中读取CSV文件的指定列(没有列名),可以通过列的索引位置来实现

方法1(无列名):

1)使用内置 csv 库

如果CSV文件没有列名,直接通过列的索引(从0开始)读取指定列。

import csv

# 读取CSV文件并提取第2列和第4列(索引1和3)
target_columns = [1, 3]
data = []

with open('data.csv', 'r', newline='', encoding='utf-8') as file:

    reader = csv.reader(file)
    for row in reader:

        # 确保行有足够的列
        if len(row) > max(target_columns):
            selected = [row[i] for i in target_columns]
            data.append(selected)


#输出提取列
for row in data:
    print(row)

csv文件数据: 

输出结果:

 

2)使用 pandas 库 

适用于需要高效处理大规模数据的场景。

需要先安装pandas库

pip install pandas
不行换下面这个命令
python -m pip install pandas

代码演示:

import pandas as pd

# 读取CSV文件
df = pd.read_csv('data.csv', header=None)  # header=None表示没有列名

# 提取第2列和第4列
target_columns = [1, 3]
selected_data = df.iloc[:, target_columns]

# 输出
print(selected_data.head())

csv文件数据:

输出结果:

方法2(有列名): 

1)使用内置 csv 库

通过列名找到索引,再根据索引提取数据。

import csv

# 读取CSV文件并提取指定列
target_columns = ["Price", "Category"]  #选择要提取列的列名
data = []

with open('data.csv', 'r', newline='', encoding='utf-8') as file:
    reader = csv.DictReader(file)  # 使用 DictReader 自动解析列名
    
    # 提取数据
    for row in reader:
        selected = {col: row[col] for col in target_columns}
        data.append(selected)

# 输出
for item in data:
    print(item)

 csv文件数据:

输出结果:

 2)使用 pandas 库 

直接通过列名提取数据,代码更简洁。

记得安装pandas库

pip install pandas
不行换下面这个命令
python -m pip install pandas

代码演示:

import pandas as pd

# 读取CSV文件(自动识别列名)
df = pd.read_csv('data.csv')

# 提取指定列
target_columns = ["name", "Color"]
selected_data = df[target_columns]


print(selected_data.head())

csv文件数据:
 

 输出结果:

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值