GSL Shell 学習:“CSV”モジュール

2017-05-26 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
GSL Shell で“CSV”ファイルを読み込む事については、
“GSL Shell 学習”の初期の頃
つまり、昨年4月(2016-04-04)の記事:
GSL Shell 学習:“CSV”ファイル読み込み
で“General Data Tables”を使うと、

  ・・・・・
  ・・・・・
  つまり、
    M = gdt.read_csv( 'hoge.csv' )
  とするだけで、
  'hoge.csv' ファイルを読み込める。
  ・・・・・
  ・・・・・

と書いている。

しかしながら,

  'M' の各要素へのアクセスは?
   v = M:get( r, c )
   M:set( r, c, v )
  の様に ( 1オリジンで、) r 行、c 列 の要素にアクセスできる。

と、些か<紙>の性に合わない。
これは、
テーブルの要素が、数値データに限らずどんな型でも許しているから。


だが、数値データに限定すれば、
もっと、<紙>の気に入る方式を発見した。
今頃に成ってですが、・・・・・


GSL shell documentation」の、
第23章「Comma Separated Values Parsing Utilities」にあった。

  The module csv offers a few useful functions to
   read data files in 'csv' format.
  This latter is a quite popular format used to easily save
   simple tabular data as comma-separated values with several lines.
  This format can be used to exchange data with
   spreadsheets applications.

=== Google翻訳

  モジュールcsvは、'csv' 形式のデータファイルを読み込むための
   いくつかの便利な関数を提供しています。
  後者は、単純な表形式のデータを複数の行でカンマ区切りの値として
   簡単に保存するために使用される非常に一般的な形式です。
  この形式を使用すると、スプレッドシートアプリケーションと
   データを交換できます。

例が載っている:
csv = require 'csv'

-- load some data and save the results in a table
t = csv.read('examples/data/sige-sims-prof.csv')

-- if the data contains only numbers it can be easily converted
-- intro matrix form
m = matrix.def(t)

-- ・・・・・
  Please note that the function returns a table, not a matrix.
  If the table is in rectangular form and if it contains only numbers,
  it can easily be converted into a matrix using the function matrix()
   as shown in the example above.

=== Google翻訳

  この関数は行列ではなくテーブルを返します。
  テーブルが長方形であり、数値のみを含む場合は、
  上の例に示すように関数matrix() を使用して
  簡単に行列に変換できます。


そうすると、
非数値のデータが最初の行のみに存在する場合は、

  m = matrix.def(t)

の前に、

  table.remove(t,1)

を追加すればOKですね。


これで、

  v = m[r][c]
  m[r][c] = v

の様に ( 1オリジンで、) r 行、c 列 の要素にアクセスできる。


蛇足:
ゼロオリジンの r 行、c 列 にアクセスしたいなら。
(1次元配列となるが)

  v = m.data[r*Z+c]
  m.data[r*Z+c] = v

の様になる。( Z は 列数即ち、Z = # m[1] )
( 又は、_, Z = m:dim() )


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170411
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク