我遇到了编写python脚本的麻烦。具体来说,我有一串数字,并希望用整数0替换单词“零”。然后,我想将此字符串覆盖为浮点值。我使用了data.replace,因此必须在“0”周围放置“ - ”,否则会出现错误,因为它需要字符缓冲区对象。我是否正确地说我可以在转换为浮点数之前从0中除去“”?将字符串转换为浮点时出错
> for data in inFile:
> data = data.replace ("zero", "0")
> data = map(float,data.strip('"'))
ValueError: could not convert string to float: s
这是一个较大的脚本,这需要在值的列表的一部分。我想从第一100
inFile = gzip.open('path','rb')
inpNorm = 0.5
samNorm = 1
inFile.next()
for line in inFile:
cols = line.strip().split('\t')
data = cols[6:]
for data in inFile:
data = data.replace("zero",0)
data = map(float,data.strip('"'))
inputVals = [x * inpNorm for x in data[:100]]
h3k27Vals = [x * samNorm for x in data[100:]]
normVals = [h327Vals[i] - inputVals[i] for i in len(inputVals)]
print '\t'.join(cols[:6]) + '\t'.join(map(str,normVals))
inFile.close()
我输入文件看起来像下面减去该列表的最后100个值对于给定线:
C8098283 1 8268 asx1.1_ox1.0.loc.00001 . + zero zero zero 11.701 12.801 13.91
非常感谢
附:真的很抱歉,如果这不够明确。我对编程和堆栈溢出很陌生。
显示示例输入 –
好像你在你的数据文件中有杂散的字符。 – Iluvatar
你能更清楚的转换吗?您需要不剥去''' –