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

Windows文件路径问题:无法通过Pandas打开Zip压缩CSV文件

解决Pandas读取Zip压缩CSV时的路径问题

问题重现

尝试用Pandas读取Zip压缩的CSV文件时遇到以下问题:

  • 用os.path.join生成路径,打印显示正常,但执行pd.read_csv时触发FileNotFoundError
  • 直接写带反斜杠的字符串路径时,部分字符被转义,仍无法打开文件

相关代码及输出:

import pandas as pd
import os

PATH = os.path.join('data', 'binance_data', 'data', 'spot', 'daily', 'klines', 'BTCUSD', '5m', '2023-01-01_2023-02-01', 'BTCUSDT-5m-2023-01-01')
print(PATH)

打印输出:

data\binance_data\data\spot\daily\klines\BTCUSD\5m\2023-01-01_2023-02-01\BTCUSDT-5m-2023-01-01

执行读取代码:

dataset = pd.read_csv(PATH, compression='zip', header=None)

报错信息:

FileNotFoundError: [Errno 2] No such file or directory: 'data\\binance_data\\data\\spot\\daily\\klines\\BTCUSD\\5m\\2023-01-01_2023-02-01\\BTCUSDT-5m-2023-01-01'

核心解决方法

1. 补充Zip文件后缀

你生成的路径缺少.zip后缀,Pandas的compression='zip'参数要求目标文件必须是标准Zip格式,文件名需带.zip后缀。

修正代码:

PATH = os.path.join('data', 'binance_data', 'data', 'spot', 'daily', 'klines', 'BTCUSD', '5m', '2023-01-01_2023-02-01', 'BTCUSDT-5m-2023-01-01.zip')
dataset = pd.read_csv(PATH, compression='zip', header=None)

2. 解决直接写路径的转义问题

Windows下直接写反斜杠路径会触发Python转义(比如\5m中的\5会被解析为八进制字符),两种解决方式:

  • 使用原始字符串:在路径前加r,示例:r'data\binance_data\...\BTCUSDT-5m-2023-01-01.zip'
  • 用正斜杠替代反斜杠:示例:'data/binance_data/.../BTCUSDT-5m-2023-01-01.zip',Python会自动适配跨平台路径

3. 验证路径有效性

先确认路径是否真实存在,避免拼写或层级错误:

print(os.path.exists(PATH))  # 输出True表示路径有效,False则需检查文件夹/文件名拼写

另外注意检查是否有笔误,比如路径中的BTCUSD是否应为BTCUSDT?

4. 处理Zip包内多文件的情况

如果Zip压缩包内包含多个文件,需要指定包内的具体CSV文件名,格式为zip://文件路径.zip#包内文件名.csv:

dataset = pd.read_csv('zip://data/binance_data/.../BTCUSDT-5m-2023-01-01.zip#BTCUSDT-5m-2023-01-01.csv', header=None)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:38:18