前提・実現したいこと
テキストファイルをパイソンにて読み込みたいのですが、
1つの数字に1つ配列を渡すことができずに困っています。
4 7 5 7 9 8 9 10 10 13 11 13 16 15 16 14 15 12 14 8 9 10 11 12 5 7 8 6 2 6 1 2 1 3 3 4 1 3 4 5 6 2 11 13 16 15 14 12
このテキストファイルを、一文字ごとに、配列に入れたいです。
該当のソースコード
python
1fd = open('N.txt') 2arr= fd.read() 3l = arr.split('\n') 4N = {} 5e = 0 6num=16 7for i in range(0,num): 8 N[e]=l[i] 9 e = e+1 10print(N[0]) 11for i in range(0,num): 12 l[i][j],l[i][j] = N[i].split(' ') 13print(l)
スペースごとに分けて、行ごとに配列にわけることはできたのですが、
それぞれの要素を、リストにわけることができませんでした。
また、全て文字コードになってしまったため、配列から数字が読みだせませんでした。
A[0] によって1行目 A[0][0] によって 4,A[0][1] によって 7 , A[0][2] によって 5
となるようにしたいです。
試したこと
ほかにも
readlines(), readline(), loadtxt() など試してみたのですが、
どれも要素ごとにはわけられませんでした。
また、ライブラリーもいくつかためしたのですが、 エラーが絶えませんでした、
書いているうちに、ファイルの読み込みだけでかなりの行数になってしまい、わからなくなってしまいました。
どのようにすれば列が違うものでも、loadtxt() のように一つ一つの数字が読み込めるのか、おしえていただけませんでしようか。
教えていただいたもの
python
1N = [] 2fd = open('N.txt') 3read_lines = fd.readlines() 4#print(read_lines) 5for s in read_lines: 6 s=s.rstrip('\n') 7 s_list=s.split(' ') 8 num_list = [int(x) for x in s_list] 9 N.append(num_list)
python
1with open("N.txt") as fp: 2 A = [*map(str.split, fp)] 3print(A)