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

PyCharm中正常运行的CSV拆分脚本在CMD中无法生成输出文件

问题原因

核心问题是运行时工作目录不一致:

  • PyCharm默认将脚本所在目录设为运行工作目录,生成的拆分文件会直接出现在脚本文件夹中。
  • CMD运行脚本时,工作目录是你打开CMD时的当前路径(比如桌面、用户根目录),文件其实已经生成,但不在你预期的位置。
解决方案

通过路径处理,让输出文件固定生成在你预期的位置,以下是两种实用修改方式:

方式1:输出到输入CSV的同目录

修改split_csv_file函数,先获取输入文件的所在目录,再拼接输出文件的绝对路径:

import pandas as pd
import math
import tkinter as tk
from tkinter import filedialog
import os  # 新增路径处理模块

def split_csv_file(input_csv, rows_to_split):
    with open(input_csv) as data_file:
        data = pd.read_csv(data_file)

    data_size = len(data)
    print(f"Input file has a total of {data_size} rows")

    file_need_to_create = math.ceil(data_size / rows_to_split)
    print(f"Number of files to create: {file_need_to_create}")

    # 获取输入CSV的所在目录
    input_dir = os.path.dirname(input_csv)
    output_file_number = 1
    start_row = 0

    for x in range(0, file_need_to_create):
        end_row = start_row + rows_to_split
        split = data[start_row:end_row]
        # 拼接输出文件的绝对路径
        output_path = os.path.join(input_dir, f"split{output_file_number}.csv")
        split.to_csv(output_path, index=False)
        output_file_number += 1
        start_row += rows_to_split

# 其余原有代码保持不变...

方式2:强制切换到脚本所在目录运行

在脚本开头添加代码,将工作目录切换到脚本自身的路径:

import pandas as pd
import math
import tkinter as tk
from tkinter import filedialog
import os  # 新增路径处理模块

# 切换工作目录到脚本所在路径
script_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(script_dir)

# 其余原有代码保持不变...
验证方法

修改后在CMD运行脚本,生成的拆分文件会出现在:

  • 方式1:你选择的输入CSV文件的同目录下
  • 方式2:脚本文件所在的目录下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 05:07:21