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

使用Polars scan_ndjson读取gzip jsonl文件时遇TypeError求助

解决Polars scan_ndjson读取gzip压缩jsonl的报错问题

错误原因

你的代码报错是因为scan_ndjson作为懒加载方法,不接受file.read()返回的字节数据,它需要的是文件路径、文件对象或路径类对象,而不是已读取的内容。另外代码末尾多了一个括号,属于语法错误。

read_ndjson能正常工作是因为它支持直接传入字节数据,但它是立即加载到内存,所以会有内存问题;而scan_ndjson是懒加载,必须指向数据源本身,而非加载后的内容。

正确解决方案

方案一:直接传入文件路径(推荐)

Polars的scan_ndjson支持自动识别gzip压缩格式,不需要手动用gzip模块打开文件,直接传路径即可实现懒加载:

import polars as pl

df = pl.scan_ndjson(file_path, ignore_errors=True)

这样既避免了内存问题,又自动处理了压缩,代码更简洁。

方案二:传入文件对象(备选)

如果必须手动处理文件对象,直接传打开的文件对象给scan_ndjson,不要调用read():

import gzip
import polars as pl

with gzip.open(file_path, 'rb') as file:
    df = pl.scan_ndjson(file, ignore_errors=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:08:12