python 스크립트를 작성하는 데 문제가 있습니다. 구체적으로 말하자면, 숫자 문자열을 가지고 있고 '0'이라는 단어를 정수 0으로 대체하려고합니다.이 문자열을 float 값으로 커버하고 싶습니다. data.replace를 사용 했으므로 0을 중심으로 ""넣어야합니다. 그렇지 않으면 문자 버퍼 객체를 예상 할 때 오류가 발생합니다. 나는 float로 변환하기 전에 0에서 스트립을 제거 할 수 있다고 말하고 있습니까?문자열을 부동으로 변환 할 때 오류가 발생했습니다.
> for data in inFile:
> data = data.replace ("zero", "0")
> data = map(float,data.strip('"'))
ValueError: could not convert string to float: s
이것은 값리스트에 걸리는 큰 스크립트의 일부분이다.
C8098283 1 8268 asx1.1_ox1.0.loc.00001 . + zero zero zero 11.701 12.801 13.91
많은 감사
추신 : 나는 내 입력 파일은 다음과 같습니다 최초의 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 개) 값을 빼기 할 이것이 충분히 명확하지 않은 경우에 정말로 미안합니다. 임씨는 프로그래밍과 스택 오버플로에 대해 매우 새롭다.
예를 들어 입력하십시오. –
데이터 파일에 유령이있는 것 같습니다. – Iluvatar
변환시 더 명확하게 표시 할 수 있습니까? 당신은'''을 제거하지 않아도됩니다. –