スポンサーリンク
dtype = "unicode"を指定して、numpy.loadtxt()で読み込む
データ型をunicode型に指定することで読み込むことができます。
**ただし、日本語の文字列などはエラーとなってしまいました。**
**下記のin.txtの文字列であれば読み込むことができました**
例えば、下記のようにin.txtがあったとします。
$ cat in.txt d,e,[] !,g,#
下記がサンプルコードになります。dtype = "unicode"を指定しています。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np npArray = np.loadtxt("in.txt", delimiter = ",", dtype = "unicode") print (npArray) print (npArray.dtype)
下記が実行結果になります。最後にdtypeを出力していますが、unicode型として扱われていることが確認できます。
$ ./sample.py [['d' 'e' '[]'] ['!' 'g' '']] <U2
スポンサーリンク
fmt = "%s"を指定して、numpy.savetxt()でファイルに書き込み
文字列をcsv形式でファイル書き込みする場合には、fmt = "%s"を指定します。
例えば、下記のようにin.txtがあったとします。
$ cat in.txt f,g,h !,0,1 k,l,m
まず、numpy.loadtxt()でin.txtを読み込んで、その後、numpy.savetxt()でout.txtにcsv形式で書き込みをします。
$ cat sample.py #!/usr/bin/env python3 # coding: UTF-8 import numpy as np npArray = np.loadtxt("in.txt", delimiter = ",", dtype = "unicode") print (npArray) print (npArray.dtype) print("csv形式でout.txtに出力") npArray = np.savetxt("out.txt", npArray, delimiter = ",", fmt = "%s")
下記が実行結果になります。out.txtにcsv形式で出力できているが確認できます。
$ ./sample.py [['f' 'g' 'h'] ['!' '0' '1'] ['k' 'l' 'm']] <U1 csv形式でout.txtに出力 $ cat out.txt f,g,h !,0,1 k,l,m
スポンサーリンク