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

如何从指定文件读取文件名并将.rpt文件转换为CSV?

问题:.rpt文件转CSV时出现文件找不到错误

我有一个名为list_csv的文件,里面包含两个文件名:hierarchy1.rpt、hierarchy2.rpt。我想把这些.rpt文件转换成CSV格式,写了如下代码:

file2 = open('list_csv', 'r')
Lines1 = file2.readlines()
for line in Lines1:
    dataframe1 = pd.read_csv(line)
    read_file.to_csv(line)

运行后出现以下错误:

FileNotFoundError: [Errno 2] File b'hierarchy2.rpt\n' does not exist: b'hierarchy1.rpt\n'


错误原因

  1. 换行符残留:readlines()读取的每一行末尾会自带换行符\n,导致程序尝试打开的文件名是hierarchy1.rpt\n这种带无效字符的名称,系统无法识别。
  2. 变量名不匹配:代码中用dataframe1接收读取的文件,但后续调用了未定义的read_file变量,属于语法逻辑错误。
  3. 输出命名问题:直接用原.rpt文件名保存CSV,会覆盖原文件,不符合格式转换的需求。

修正后的代码

import pandas as pd

# 用with语句自动管理文件资源,读取每行并清理无效字符
with open('list_csv', 'r') as file2:
    for line in file2:
        # 去除换行符、空格等空白字符
        rpt_filename = line.strip()
        # 跳过空行
        if not rpt_filename:
            continue
        # 读取.rpt文件(假设.rpt为CSV兼容的文本格式)
        df = pd.read_csv(rpt_filename)
        # 生成对应CSV文件名,替换后缀
        csv_filename = rpt_filename.replace('.rpt', '.csv')
        # 保存为CSV,关闭索引输出
        df.to_csv(csv_filename, index=False)

关键修正点

  • 用strip()清理每行的换行符和空白,确保文件名正确。
  • 使用with语句自动关闭文件,避免资源泄漏。
  • 统一变量名,修复未定义变量的问题。
  • 生成独立的CSV文件名,避免覆盖原.rpt文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:57:12