You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现CSV文件第1列与列2、列3的逐行数值大小比较

实现方案

以下提供两种常用实现方式,可根据你的使用场景选择:

方法1:使用标准库csv模块(无额外依赖)

不需要安装第三方库,直接调用Python内置模块即可实现,适合轻量使用场景:

import csv

# 替换为你本地CSV文件的实际路径
csv_path = "your_data.csv"

with open(csv_path, mode='r', encoding='utf-8') as f:
    reader = csv.reader(f)
    # 如果CSV第一行是表头,保留下面这行跳过表头;没有表头直接注释该行即可
    next(reader)
    
    for row_index, row in enumerate(reader, start=1):
        # 将三列值转换为浮点型,若确认都是整数可替换为int()避免精度问题
        col1 = float(row[0])
        col2 = float(row[1])
        col3 = float(row[2])
        
        # 以下是比较逻辑示例,可按需修改为你需要的规则
        print(f"第{row_index}行比较结果:")
        # 第1列和第2列比较
        if col1 > col2:
            print(f"  第1列值{col1} > 第2列值{col2}")
        elif col1 == col2:
            print(f"  第1列值{col1} = 第2列值{col2}")
        else:
            print(f"  第1列值{col1} < 第2列值{col2}")
        # 第1列和第3列比较
        if col1 > col3:
            print(f"  第1列值{col1} > 第3列值{col3}")
        elif col1 == col3:
            print(f"  第1列值{col1} = 第3列值{col3}")
        else:
            print(f"  第1列值{col1} < 第3列值{col3}")

方法2:使用pandas库(适合批量数据处理)

如果后续还需要对数据做其他统计、筛选操作,用pandas实现更简洁,使用前先执行pip install pandas安装依赖:

import pandas as pd

# 替换为你本地CSV文件的实际路径,有表头就去掉header=None参数
df = pd.read_csv("your_data.csv", header=None)

# 批量生成比较结果列,True代表条件成立,False代表不成立
df['第1列大于第2列'] = df[0] > df[1]
df['第1列大于第3列'] = df[0] > df[2]

# 打印所有行的原始数据+比较结果
print(df)

# 如果需要自定义逐行处理逻辑,可使用apply方法
def custom_compare(row):
    col1, col2, col3 = row[0], row[1], row[2]
    # 示例:返回三个值从大到小的排序结果,可按需修改为你的逻辑
    return sorted([col1, col2, col3], reverse=True)

df['三列降序排序'] = df.apply(custom_compare, axis=1)
print(df)
注意事项
  • 请提前确认CSV三列均为可转换为数值的内容,存在非数值内容时需要先做数据清洗,避免类型转换报错
  • 比较规则可按需自定义修改,只需调整对应判断部分的代码即可,规则会自动对所有行生效

内容的提问来源于stack exchange,提问作者Ary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:36:04