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

CSV处理代码转Pandas实现及按条件递增字符串后缀问题咨询

方案说明

技术选型建议

简单的CSV读取、固定格式导出的轻量场景,保留原生csv模块代码即可,不需要额外引入Pandas依赖,运行效率更高。如果你的项目本身已经依赖Pandas做其他数据处理,或者后续需要对CSV数据做过滤、统计、关联等复杂操作,再换成Pandas实现更合适。

Pandas适配改造代码

以下代码完全对齐你原有原生csv模块的逻辑,同时实现了title后缀添加需求:

import pandas as pd

# 读取CSV文件,若你的CSV自带表头,删除header=None参数即可
df = pd.read_csv('foo.csv', header=None, dtype=str)

output_content = []
# 取CSV第一列的所有值遍历,对应原代码的Data[item][0]逻辑
for val in df.iloc[:, 0]:
    # 按规则添加后缀,每个值输出两行对应前缀
    output_content.append(f'this is titleA-1: {val}')
    output_content.append(f'this is titleA-1: {val}')
    output_content.append(f'this is titleB-2: {val}')
    output_content.append(f'this is titleB-2: {val}')

# 一次性写入文件,避免循环写入的IO性能问题
with open('titles.txt', 'w', encoding='utf-8') as f:
    f.write('\n'.join(output_content))

Lambda实现后缀添加的两种场景

场景1:修改DataFrame列名后缀

如果需要给DataFrame的列名称加指定后缀,实现代码如下:

df.columns = df.columns.map(lambda x: f"{x}-1" if x == "titleA" else f"{x}-2" if x == "titleB" else x)

场景2:修改列值的前缀后缀

如果需要给指定列的所有值拼接后缀,实现代码如下:

# 给titleA列所有值加-1后缀
df['titleA'] = df['titleA'].map(lambda x: f"{x}-1")
# 给titleB列所有值加-2后缀
df['titleB'] = df['titleB'].map(lambda x: f"{x}-2")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:00:04