

ものすごく簡単なことだと思いますが、問題に引っかかってしまっています。

現在python(version 3.6.0)を使い、アレイを作成しております。  
テキストファイルから読み込んだ値を、そのままアレイに挿入したいだけのことです。

具体的には、  
sample1.txtとsample2.txtがあるとします。

[code]

    sample1.txtには
    20035.87109375,23184.52539062
    20031.375,23162.98046875
    
[/code]

が値として入っており、

[code]

    sample2.txtには、
    20037.72460938,23142.20117188
    20051.09765625,23124.33203125
    
[/code]

が値として入っていると考えてください。

このファイルを読み込み、最終的には、以下のようなformatでアレイを作成したいです。

[code]

    [
     [[ 20035.87109375  23184.52539062]
      [ 20031.375       23162.98046875]]
    
     [[ 20037.72460938  23142.20117188]
      [ 20051.09765625  23124.33203125]]
    ]
    
[/code]

テキストファイルの値をアレイに挿入することはわかっています。

[code]

    もし数字で挿入しますと、
    [20035.87109375, 23184.52539062]
    
[/code]

のような形になり、

[code]

    もし文字列で挿入しますと、
    ['20035.87109375 23184.52539062']
    
[/code]

のような形になってしまいます。  
問題は「数字」でも「文字列」でもないformatで挿入したいです（上記の例を参考にしてください）。

もしどのようなフォーマットで入っているのか、またそのやり方をご存知の人がおりましたら、ご教授をお願いします。

よろしくお願いします。


CC BY-SA 3.0
2017-06-07T11:50:57.543
35372
2017-06-11T13:24:28.037
11048
question
python
pythonのアレイ中の値のformatについて


データの後ろに空白を付け加えて、各データの始まる位置（先頭からの文字数）を揃えた文字列にしたいというだけの事のように思われます。

Sample1の１行目のデータをサンプルにすると

[code]

    #本当はSample1.txtから１行読み取るコードだが、代わりに代入文を使っている
    firstLineOfSample1 = "20035.87109375,23184.52539062"
    splitted = firstLineOfSample1.split(",") # ","で文字列を分割。
    # この例では、splitted[0]="20035.87109375",splitted[1]="23184.52539062"というように２分割される。
    splitted[0] = splitted[0] + "                " # 空白文字を末尾に追加する。(先頭の１６文字を切り出せるように、１６文字の空白を追加している）
    formatted = splitted[0].[:16]+ splitted[1] #１つ目の項目を区切りの空白も含めて１６文字の文字列にし、その後に２つ目の項目を続ける。（.[:16]は、先頭の１６文字を取り出す事を意味する）
    # 結果として、formattedには、"20035.87109375  23184.52539062"という文字列が入る
    
[/code]

このようにすれば２つの数値を含む文字列が得られるので、配列に挿入してゆけば良い。


CC BY-SA 3.0
2017-06-08T02:12:04.880
35380
2017-06-08T02:12:04.880
217
35372
answer


出力結果を見るに、numpy.arrayを使用すれば良いのではと推察します。

[code]

    [
     [[ 20035.87109375  23184.52539062]
      [ 20031.375       23162.98046875]
     ]
    
     [[ 20037.72460938  23142.20117188]
      [ 20051.09765625  23124.33203125]]
    ]
    
[/code]

対話シェルで以下のコマンドを入力すると、

[code]

    >>> import numpy as np
    >>> data = np.array([[10, 20], [30, 40]])
    >>> print data # python3なら print(data)
    
[/code]

似たような出力結果が得られます。

[code]

    [[10 20]
     [30 40]]
    
[/code]

【参考】  
・numpy.array — NumPy v1.12
Manual(<https://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html>)


CC BY-SA 3.0
2017-06-08T11:55:54.837
35402
2017-06-08T12:01:01.603
2017-06-08T12:01:01.603
23656
23656
35372
answer