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

循环遍历文件夹处理文件时修改df.to_csv输出文件名的实现问题

问题排查与代码修正

现有代码的遗漏点

  • 没有移除原文件的.out后缀:直接拼接.csv会生成bls_2.out.csv这类错误文件名,不符合输出格式要求
  • 没有处理需要删除的文件名片段:没有匹配并移除_数字这类多余字符,无法实现bls_2.out转为bls.csv的需求
  • 隐藏的路径问题:直接用文件名读写没有拼接目录完整路径,当脚本运行的工作目录不是C:\Projects时会出现文件找不到的报错

修正后代码

import pandas as pd
import os
import csv

directory = r'C:\Projects'
for filename in os.listdir(directory):
    if filename.endswith(".out"):
        # 拼接完整读入路径
        full_input_path = os.path.join(directory, filename)
        # 拆分文件名和后缀
        base_name = os.path.splitext(filename)[0]
        # 取下划线前的核心文件名,实现bls_2转bls的需求
        core_name = base_name.split('_')[0]
        # 拼接完整输出路径
        full_output_path = os.path.join(directory, f"{core_name}.csv")
        
        df = pd.read_csv(full_input_path, sep="\s+", header=None, skiprows=15)
        df.to_csv(full_output_path, sep=",", index=False, quoting=csv.QUOTE_NONE, 
                  quotechar="", escapechar=" ",
                  header=["East","North","Elevation","HoleId","aufaf","aucnf","aufacomf",
                          "aucncomf","prvf","ocf","ccf","ssf","Domain_Code"])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 06:42:02