如何访问读取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
相关产品推荐
相关产品推荐

