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

如何用Python重命名CSV表头并为指定空白列填充固定数值

解决方案:重命名CSV列并填充固定值

先修正你脚本里的缩进错误——if f.endswith(ext): 必须放在for循环内部,否则只会处理目录里最后一个文件。然后添加重命名列和填充值的逻辑,完整可运行代码如下:

import os
import pandas as pd

directory = 'path/'
output_dir = 'path/Output'
ext = '.csv'

# 确保输出目录存在,避免因目录未创建报错
os.makedirs(output_dir, exist_ok=True)

for filename in os.listdir(directory):
    f = os.path.join(directory, filename)
    # 缩进修正:将文件后缀判断放入循环内,遍历所有符合条件的CSV
    if f.endswith(ext):
        # 简化文件名处理逻辑,避免手动拆分出错
        file_base_name = os.path.splitext(filename)[0]
        output_path = os.path.join(output_dir, f"{file_base_name} - Output.csv")

        mydata = pd.read_csv(f)
        # 筛选需要保留的列
        new_df = mydata[["Part ID","Serial ID","Bin","Cluster","Site","Room","Model MPN","Vendor","Type","State","Tags"]]
        
        # 重命名Tags列为Quantity,并给整列填充值1
        new_df.rename(columns={"Tags": "Quantity"}, inplace=True)
        new_df["Quantity"] = 1

        new_df.to_csv(output_path, index=False)

关键修改说明:

  • 缩进修复:把文件后缀判断移到for循环内部,确保遍历目录下所有CSV文件
  • 目录安全处理:添加os.makedirs(output_dir, exist_ok=True),自动创建输出目录(如果不存在)
  • 文件名处理优化:用os.path.splitext直接拆分文件名和后缀,比手动split更稳定
  • 列操作逻辑:
    • rename(columns={"Tags": "Quantity"}, inplace=True) 直接修改目标列名
    • new_df["Quantity"] = 1 给整列统一填充值1,覆盖原空白单元格

如果运行仍报错,检查:

  • directory和output_dir的路径是否正确(Windows系统注意用双反斜杠\\或原始字符串r'path')
  • CSV文件内的列名是否和代码中指定的完全一致(注意大小写、空格)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 00:01:15