感谢您的耐心等待,因为我对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: size of tuple must match number of fields(元组的大小必须与字段数相匹配) 的错误信息。
需要帮助吗?
修改:
实现@Wooble的建议后,错误不再出现...
但现在的问题是,在我打印存储(storage)之后,所有dtype为str的单元格都是空字符串('')。这是为什么?
EDIT3: 我通过将上面的str类型更改为|S#,其中#是一个整数,解决了空字符串问题。
.close()
关闭;整个上下文管理器的目的就是关闭它。 - Woobleraw_input
而不是使用input
并告诉用户包含引号... - Wooblepandas
比裸的numpy更容易成功。 - DSM