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

如何访问读取Python生成的CSV文件?Jupyter文件找不到问题

解决Jupyter Notebook中CSV文件找不到的问题

一、先确认文件是否实际生成

  • 检查ETL代码执行日志:确认最后是否打印了Appending processed data to CSV,如果没出现这条日志,说明代码未进入文件写入环节。
  • 查看当前工作目录:在Jupyter单元格中运行以下代码,输出的路径就是代码默认的文件生成目录:
    import os
    print(os.getcwd())
    
  • 列出目录内文件:运行os.listdir(),查看输出结果中是否包含open.csv等目标文件。如果没有,说明代码未生成文件,需排查ETL逻辑问题。

二、修复ETL代码的核心错误

你的代码存在一个关键语法错误,导致CSV文件根本不会生成:

  • getBuilderForEvent方法缩进错误:该方法没有缩进,不属于CsvBuilderProvider类,调用时会触发错误,最终所有事件都会使用不执行写入操作的NullBuilder。
    修正后的类代码:
    class CsvBuilderProvider: 
        def __init__(self):
            self._builders = {}
            self._defaultBuilder = NullBuilder()
    
        def registerBuilder(self, event: str, builder: CsvBuilder) -> 'CsvBuilderProvider':
            self._builders[event] = builder 
            return self
    
        def getBuilderForEvent(self, event: str):
            if event in self._builders.keys():
                return self._builders[event]
            return self._defaultBuilder
    

三、排查其他潜在问题

  • 验证事件名称匹配:在数据处理循环中添加打印,确认实际读取到的事件名称是否与注册的open/send等一致:
    eventName = event["event"]
    print(f"当前处理事件:{eventName}")
    
  • 检查数据处理量:查看processed和errored的数值,如果processed为0,说明SQL查询无返回结果或JSON解析失败,可打印len(rows)确认查询到的数据量。

四、正确读取CSV文件

  • 如果文件已生成,直接用绝对路径读取:在Jupyter左侧文件浏览器中找到目标CSV文件,右键选择「Copy Path」,将路径粘贴到pd.read_csv()中:
    pd.read_csv("/你的绝对路径/open.csv")
    
  • 或者在ETL代码的builder.write()后添加路径打印,直接获取生成文件的绝对路径:
    print(f"文件已写入:{os.path.abspath(builder._fileName)}")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 15:35:20