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

如何合并CSV两行对应列内容并保留列数?能否用CSV库实现?

用Python CSV库实现两行CSV内容合并

需求回顾

原始CSV内容:

Superman/, 250lbs, Batman/, 180lbs
Clark Kent, , Bruce Wayne, 

目标合并后格式:

Superman/Clark Kent, 250lbs, Batman/Bruce Wayne, 180lbs

实现方案

完全可以用Python自带的csv库实现,不需要用extend()(它会增加列数,不符合需求)。核心思路是将两行的对应列元素直接拼接,第二行空值不影响第一行内容,最终列数和原文件一致。

代码示例

import csv

# 读取原始文件并处理
with open('input.csv', 'r', newline='') as in_file:
    # 指定分隔符为", ",确保读取的元素不带多余空格
    reader = csv.reader(in_file, delimiter=', ')
    # 把所有行转为列表(这里仅两行)
    all_rows = list(reader)
    if len(all_rows) >= 2:
        row_top, row_bottom = all_rows[0], all_rows[1]
        # 对应列元素拼接,空值拼接后不改变原内容
        merged_row = [f"{col_top}{col_bottom}" for col_top, col_bottom in zip(row_top, row_bottom)]
        
        # 写入合并后的内容
        with open('output.csv', 'w', newline='') as out_file:
            writer = csv.writer(out_file, delimiter=', ')
            writer.writerow(merged_row)

关键细节说明

  1. 指定delimiter=', ':因为原始CSV的分隔符是逗号加空格,这样读取的元素不会带前导空格,保证拼接后的格式正确。
  2. zip(row_top, row_bottom):将两行的对应列元素一一配对,确保每一列的内容对应合并。
  3. 空值处理:第二行的空字符串和第一行元素拼接后,结果就是第一行的原始值,正好符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 12:57:42