使用genfromtxt时出现空字符串

4 投票
1 回答
2151 浏览
提问于 2025-04-18 10:56

谢谢你的耐心,我对Python还很陌生。输入文件是一个用制表符分隔的表格。

import numpy as np
#from StringIO import StringIO

inputfile=raw_input('Filepath please: ')

fieldnames='Reference Position, Type, Length, Reference, Allele, Linkage, Zygosity, \
    Count, Coverage, Frequency, Hyper-allelic, Forward/reverse balance, Average quality, \
    Overlapping annotations, Coding region change, Amino acid change'
fieldtypes='int,str,int,str,str,str,str,int,int,float,str,float,float,str,str,str'

with open(inputfile) as f:
    storage=np.genfromtxt(f, skip_header=1, delimiter='\t', names=fieldnames, dtype=fieldtypes)

print storage

我遇到了一个ValueError错误:元组的大小必须和字段数量匹配。

有人能帮忙吗?


更新:

好吧,在采纳了@Wooble的建议后,错误消失了……

更新2:

但现在的问题是,当我打印存储的内容时,所有类型为字符串的单元格都是空字符串('')。这是为什么呢?

更新3:我通过把上面的字符串类型改成|S#(#是一个整数)解决了空字符串的问题。

1 个回答

1

但是现在的问题是,当我打印存储的内容时,所有类型为字符串(str)的单元格都是空字符串('')。这是为什么呢?

编辑3:我通过把上面的字符串类型改成|S#来解决了空字符串的问题,这里的#是一个整数。

编辑4:请看下面Jinan Dangor的评论。

撰写回答