pandas中如何获取附带对应列名的行数据值
Pandas 逐行生成「列名: 字段值」结构化文本实现方法
首先对齐输出格式的基础规则:原始数据集里小写的id列名需要转为全大写,和其他列的命名格式统一,匹配目标输出规范。
基础数据集准备
import pandas as pd # 复现给出的原始数据集 df = pd.DataFrame({ "FIRST_NAME": ["PAUL", "LAURA"], "LAST_NAME": ["OLSAN", "HINKLE"], "id": [54, 32] }) # 列名转全大写,生成和目标一致的ID列名 df.columns = [col.upper() for col in df.columns]
文本生成实现
两种常用写法可按数据规模选择:
逐行遍历写法
逻辑直白,小数据量下调整格式非常方便:
case_texts = [] for _, row in df.iterrows(): # 按列拼接「列名: 字段值」格式的单条案例文本 single_case = "\n".join([f"{col} : {row[col]}" for col in df.columns]) case_texts.append(single_case) # 不同案例之间加空行分隔,方便单独复制单条内容 output = "\n\n".join(case_texts) print(output)
运行后的输出完全匹配要求:
FIRST_NAME : PAUL LAST_NAME : OLSAN ID : 54 FIRST_NAME : LAURA LAST_NAME : HINKLE ID : 32
向量化写法
处理万行以上的大规模数据集时运行效率更高,无Python层循环开销:
# 按行应用格式规则生成案例文本 case_texts = df.apply( lambda row: "\n".join([f"{col} : {row[col]}" for col in df.columns]), axis=1 ).tolist() output = "\n\n".join(case_texts)
常用调整技巧
- 冒号前后的空格可直接修改拼接字符串调整,需要紧凑格式就将
f"{col} : {row[col]}"改为f"{col}:{row[col]}" - 生成的内容可直接导出为本地文本文件,补充以下代码即可:
with open("case_details.txt", "w", encoding="utf-8") as f: f.write(output) - 案例间的空行分隔设计,支持直接框选单条案例的完整明细复制,粘贴后即可在下方补充案例分析内容,不需要手动逐字敲入字段。
内容的提问来源于stack exchange,提问作者Shouhaddo Paul
相关产品推荐
相关产品推荐

