私はPythonが初めてで、これに対する解決策がありますが、遅くてばかげているように見えるので、もっと良い方法があるかどうか疑問に思いましたか?
次のように定義された行列があるとします。
mat = [['hello']*4 for x in xrange(3)]
この関数を使用してファイルに書き込みます:
def writeMat(mat, outfile):
with open(outfile, "w") as f:
for item in mat:
f.writelines(str(item).replace('[','').replace(',','').replace('\'','').replace(']','\n'))
writeMat(mat, "temp.txt")
次のようなテキスト ファイルが生成されます。
hello hello hello hello
hello hello hello hello
hello hello hello hello
私が扱っているファイルは非常に大きいです。numpyのsavetxt
関数は素晴らしいでしょうが、これを numpy 配列として保存したくありません。マトリックスの大部分は単一の文字要素で構成されていますが、最初の数列の長さは多くの文字になるため、私(間違っている場合は訂正してください)これは、マトリックス内のすべての要素が最大要素のサイズになるため、マトリックス全体が必要以上に多くのメモリを使用することを意味します。