使用Polars的scan_csv与scan_parquet读取多文件时,行顺序是否有保障?
Polars批量读取多文件的行顺序问题
问题
现有文件列表 l = [f1, f2, f3...fn],对应文件的行数为s1,s2,...,sn,当使用 df = pl.scan_csv(l, ...) 或 df = pl.scan_parquet(l, ...) 创建DataFrame时,结果行的顺序是否与文件顺序一致?也就是遵循 [f11,f12,...f1s1,f21,...fnsn] 的排列顺序?
回答
是的,使用Polars的scan_csv或scan_parquet读取多个文件时,结果DataFrame的行顺序完全匹配输入文件列表的顺序——先包含f1的所有行(保持原文件内的行顺序),接着是f2的所有行,以此类推直到fn的最后一行,完全符合你描述的排列规则。
需要注意的是,这种顺序一致性是Polars批量读取多文件的默认行为,只有当你显式执行了打乱行序的操作(比如shuffle()、sort()等)时,行的排列顺序才会改变。
内容的提问来源于stack exchange,提问作者notsure01
相关产品推荐
相关产品推荐

