ベクトルのリスト(#lines = 1137)(すべて同じサイズ= 1137)を含むテキストファイルを1137に変換しようとしています* 1137マトリックス。私はnumpyを使って空の行列を作成しました。しかし、私は次のコードを使用してファイルを読み込むときに、後の問題は、ベクトルがない私は認識テキストファイルからのn * n行列の作成には、Pythonのリストのリストが含まれています
myMtrx = np.empty((1137,1137))
f = open("text.txt", "r")
for vector in f:
print len(vector)
arrayF.append(vector.rstrip())
ベクトルまたは配列として、一連の文字として扱われ、各ベクトルの私達の長さを、印刷することによってどのそのベクトルの要素ではない桁数に基づいて計算されます。テキストファイル内のベクトルは、私がprint arrayF[0][0]
を印刷するときに、私は、私は99.25である第一のベクターの第一要素である出力を必要とする[
を、受信
[99.25, 14.74, 26.12, 20.91, 37.14, 79.03, 17.68, 28.4, ...., 0]
のように見えます。
私はnumpyを使っていくつかの方法を試してみましたが、テキストファイルをCSVに書きましたが、何も動作しません。この問題を解決するために私を助けてください。テキストファイルにアクセスするには、次のリンクをクリックしてください。 text.txt
'for vector in f'と言うと、' vector'変数の中であなたのコードに渡されるものはベクトルではなく、ファイルの1行全体(文字列として)です。'for line in f'のようなことを行い、ループの中にコードを書いて、各行を(正規表現や' str.split() 'を使って)目的のトークンに分割したいとします。その後、それらのトークンを使用して配列を埋める前に、それらのトークンを数値に変換してください。 – dhrumeel
迅速な対応に感謝します。ベクトルの内容は、私の投稿[99.25、........ 0]で説明されていますが、あなたが言ったように、配列としてではなく文字列として解析されます。しかし、reg式より簡単な方法はありますか? – Mohannad
行がサンプルに付いている場合は、行からsqare括弧を取り除き、コンマスペースで分割し、rhe splitから出てくるすべてのリスト要素をint()にすることができます。意味がありますか? – Dilettant