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

Python如何将DataFrame导出为无末尾空值和多余逗号的CSV文件

问题根因

拆分Col3时,pandas会按拆分后元素最多的行自动补全列数,元素不足的行填充NaN,导出CSV时这些空值就会生成末尾的多余逗号和空字段。

解决方法

方法1:不修改现有预处理逻辑,替换导出代码即可

import csv
import pandas as pd

with open('data.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    for _, row in df.iterrows():
        # 过滤掉当前行的空值后写入
        valid_row = [val for val in row if pd.notna(val)]
        writer.writerow(valid_row)

方法2:优化预处理逻辑,更高效实现需求

你可以直接在分组阶段生成目标格式的内容,不需要拆成多列再删列:

import csv
import pandas as pd

# 分组后直接将Col3内容拆分为列表
output_rows = df.groupby(['Col1', 'Col2'])['Col3'].apply(
    lambda x: ','.join(x).split(',')
).tolist()

# 直接写入CSV
with open('data.csv', 'w', newline='', encoding='utf-8') as f:
    csv.writer(f).writerows(output_rows)

两种方法生成的CSV都不会有末尾多余的逗号和空值,完全符合预期输出效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 06:24:08