读入或写入h5ad文件时,报错

Above error raised while writing key 'patient' of <class 'h5py._hl.group.Group'> to /

可能是obs或var的index,或者名称出现了None,以及值不是str/object类型

或者是存在adata.raw有一些冲突

### 一些可行的解决:

查看adata.obs_names.name,给他赋对应的值-str/object

if adata.obs_names.name is None:
    adata.obs_names.name = 'cell_barcode'
if adata.var_names.name is None:
    adata.var_names.name = 'tf_name'
adata.obs.columns = adata.obs.columns.astype(str)
adata.var.columns = adata.var.columns.astype(str)
a1.var['tf'] = a1.var.index.tolist()
a1.obs['SampleID'] = a1.obs['SampleID'].apply(lambda x: str(x))

 以及将adata.raw=None,adata.layers = None

避免出现不合适的命名:

adata.obs.rename(columns={'O2_Suppl': 'Suppl_02'}, inplace=True)

有点折磨人的,最后也不知道具体是因为哪些步骤,总之就是.raw要为None,其它obs和var的column名称不能数字开头,要是str,以及每个列的具体值也最好都是str/object。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值