SQL查询:已知key1列唯一值,获取对应行key2列的值
获取唯一值对应的列值方法
1. Excel 场景
- 使用
VLOOKUP函数,公式如下:
说明:第一个参数是要查找的唯一值=VLOOKUP("valN.1", A:C, 2, FALSE)valN.1,第二个参数是包含所有数据的区域(A到C列对应key1到key3),第三个参数指定返回第2列(key2列)的内容,FALSE确保精确匹配,因为valN.1是唯一值,直接就能拿到对应的valN.2。 - 若使用Excel 365及以上版本,更推荐
XLOOKUP,公式更简洁直观:
说明:依次指定查找值、查找范围(key1列)、返回范围(key2列),自动精确匹配唯一值。=XLOOKUP("valN.1", A:A, B:B)
2. Python 场景
用pandas处理结构化表格
假设数据已读取为DataFrame:
import pandas as pd # 读取表格(示例为csv,可替换为Excel等格式) df = pd.read_csv("your_table_file.csv") # 筛选key1等于valN.1的行,提取key2的值 target_value = df.loc[df["key1"] == "valN.1", "key2"].iloc[0] print(target_value)
说明:因为valN.1是唯一值,筛选后只会得到一行数据,用iloc[0]直接取出对应key2列的值。
原生Python处理列表格式数据
如果表格以嵌套列表形式存储:
# 示例表格数据,表头+行数据 table_data = [ ["key1", "key2", "key3"], ["val1.1", "val1.2", "val1.3"], # ... 其他行数据 ["valN.1", "valN.2", "valN.3"] ] target_value = None # 跳过表头,遍历行数据 for row in table_data[1:]: if row[0] == "valN.1": target_value = row[1] break print(target_value)
内容的提问来源于stack exchange,提问作者Pol
相关产品推荐
相关产品推荐

