Julia の小ネタ--038 文字列からデータフレームを読み込む
そのような場合には,プログラム中に「""" 改行を含む文字列 """」のようにデータを記述し,そこからデータフレームに読み込むことができる。
CSV.read( ) の第1引数は通常はファイルパスであるが,IOBffer( ) で引数に文字列を指定することもできる。
欄の区切り文字は delim で指定するが,例のように空白で(桁を揃えて)区切られている場合は,ignorerepeated=true を指定しなければならない。
using CSV, DataFrames
anscombe = CSV.read(IOBuffer("""
x1 x2 x3 x4 y1 y2 y3 y4
10 10 10 8 8.04 9.14 7.46 6.58
8 8 8 8 6.95 8.14 6.77 5.76
13 13 13 8 7.58 8.74 12.7 7.71
9 9 9 8 8.81 8.77 7.11 8.84
11 11 11 8 8.33 9.26 7.81 8.47
14 14 14 8 9.96 8.1 8.84 7.04
6 6 6 8 7.24 6.13 6.08 5.25
4 4 4 19 4.26 3.1 5.39 12.5
12 12 12 8 10.8 9.13 8.15 5.56
7 7 7 8 4.82 7.26 6.42 7.91
5 5 5 8 5.68 4.74 5.73 6.89
"""), DataFrame, delim=" ", ignorerepeated=true)
11 rows × 8 columns
x1 | x2 | x3 | x4 | y1 | y2 | y3 | y4 | |
---|---|---|---|---|---|---|---|---|
Int64 | Int64 | Int64 | Int64 | Float64 | Float64 | Float64 | Float64 | |
1 | 10 | 10 | 10 | 8 | 8.04 | 9.14 | 7.46 | 6.58 |
2 | 8 | 8 | 8 | 8 | 6.95 | 8.14 | 6.77 | 5.76 |
3 | 13 | 13 | 13 | 8 | 7.58 | 8.74 | 12.7 | 7.71 |
4 | 9 | 9 | 9 | 8 | 8.81 | 8.77 | 7.11 | 8.84 |
5 | 11 | 11 | 11 | 8 | 8.33 | 9.26 | 7.81 | 8.47 |
6 | 14 | 14 | 14 | 8 | 9.96 | 8.1 | 8.84 | 7.04 |
7 | 6 | 6 | 6 | 8 | 7.24 | 6.13 | 6.08 | 5.25 |
8 | 4 | 4 | 4 | 19 | 4.26 | 3.1 | 5.39 | 12.5 |
9 | 12 | 12 | 12 | 8 | 10.8 | 9.13 | 8.15 | 5.56 |
10 | 7 | 7 | 7 | 8 | 4.82 | 7.26 | 6.42 | 7.91 |
11 | 5 | 5 | 5 | 8 | 5.68 | 4.74 | 5.73 | 6.89 |