私は機械学習のための新しいツールです。私は文字のintを使用しようとするときにいくつかの問題があります。私はMac OS上でPython 3.5を使用します。これは私のコードです:文字列(文字)をファイルテキストから整数に変換する
def file2matrix(filename):
fr = open(filename)
numberOfLines = len(fr.readlines())
returnMat = zeros((numberOfLines, 3))
classLabelVector = []
fr = open(filename)
index=0
for line in fr.readlines():
line = line.strip()
listFromLine1 = line.split('\t')
listFromLine = zeros(3)
i = 0
for value in listFromLine1:
if value.isdigit():
valueAsInt = int(value)
listFromLine[i] = valueAsInt
i += 1
returnMat[index, :] = listFromLine[0:3]
classLabelVector.append(int(listFromLine1[-1]))
index += 1
return returnMat, classLabelVector
これは私のtxtファイルです:
23 8 1 f
7 8 5 j
5 9 1 j
6 6 6 f
これはエラーです:
classLabelVector.append(int(listFromLine1[-1])) ValueError: invalid literal for int() with base 10: 'f'
誰もがこれらの問題に私を助けることができますか?
あなたがこれを作っていますおそらくTextEditのファイルですか? '\\ rtf1'はリッチテキストファイルのようなリッチテキストヘッダのように見えます(これはプレーンテキストと同じではありません)。 –
ええ、私はそれをTextEditでやったけど、すでに.txtに変換しています。私のファイルをどこに作成すればいいのか教えていただけますか? – Cassie
プレーンテキストに作成した場合、エラーは投稿したものとは異なるはずです。それは...ですか?まだ '\\ rtf1'が表示されているのであれば、まだ純粋な平文になっていないでしょう。 –