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

为何Pandas可读取转换后的gVCF文件,而Polars直接读取会报错?

为何Pandas可读取转换后的gVCF文件,而Polars直接读取会报错?

我最近碰到了一个挺费解的问题:我用bcftools把gVCF文件的头信息去掉,转成了TSV格式(我习惯叫它CSV),用的命令是:

bcftools view foo.g.vcf -H > foo.g.vcf.csv

用head查看文件内容,看起来完全符合预期:

chr1H   1       .       T       <*>     0       .       END=1000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   1001    .       T       <*>     0       .       END=1707        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   1708    .       C       <*>     0       .       END=1763        GT:GQ:MIN_DP:PL 0/0:6:2:0,6,59
chr1H   1764    .       T       <*>     0       .       END=2000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   2001    .       A       <*>     0       .       END=3000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   3001    .       G       <*>     0       .       END=4000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   4001    .       T       <*>     0       .       END=5000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   5001    .       T       <*>     0       .       END=6000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   6001    .       A       <*>     0       .       END=7000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0
chr1H   7001    .       G       <*>     0       .       END=8000        GT:GQ:MIN_DP:PL 0/0:1:0:0,0,0

可当我在Jupyter Notebook里尝试用Polars直接读取这个文件时,却弹出了一个计算错误:Original error: remaining bytes non-empty,用的代码是:

import polars as pl

df = pl.read_csv("foo.g.vcf.csv", has_header=False,
                 new_columns=["CHROM", "POS", "ID", "REF", "ALT", "QUAL", "FILTER", "INFO", "FORMAT", "SAMPLE"],
                 separator="\t")

有意思的是,如果我先用Pandas读取这个文件,再转换成Polars的DataFrame,整个过程却完全顺畅,没有任何问题,代码如下:

import pandas as pd
import polars as pl

df = pd.read_csv("foo.g.vcf.csv", header=None, sep="\t",
                 names=["CHROM", "POS", "ID", "REF", "ALT", "QUAL", "FILTER", "INFO", "FORMAT", "SAMPLE"])
df = pl.DataFrame(df)

我就纳闷了:同样的文件,为什么Pandas能直接读取,Polars却不行?而且另一个用完全相同方法处理的VCF文件,Polars直接读取就完全正常。

备注:内容来源于stack exchange,提问作者skranz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 18:53:11