1

私は、他の人の身長と体重の推定値を多数含む Excel スプレッドシートを持っています。また、両方の推計セルに「この推計はあれこれ考慮している」などのコメントを残した人もいます。

スプレッドシートからデータを取得し (解析方法は既に理解しています)、それをプレーン テキスト ファイルで表現して、構造化された形式に簡単に解析できるようにしたいと考えています (Perl を使用するのが理想的です)。

もともと私は YAML を使用することを考えていました:

Tom:
  Height:
    Estimate: 5
    Comment: Not that confident
  Weight:
    Estimate: 7
    Comment: Very confident
Natalia: ...

しかし、これは少し読みにくいと思います。読みやすく、解析可能なテキスト表形式の表現があるかどうか疑問に思っていました。

何かのようなもの:

PERSON      HEIGHT     Weight
-----------------------------
Tom         5          7
___START_HEIGHT_COMMENT___
    We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.  That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed [...]  
Wait, what's this project about again?
___END_HEIGHT_COMMENT___
___START_WEIGHT_COMMENT___
    We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.  That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed [...]  
Wait, what's this project about again?
___END_WEIGHT_COMMENT___

Natalia     2          4
John        3          3

これを行うより良い方法はありますか?

4

5 に答える 5

3

CSV (カンマ区切り値)。

Excel からこの形式に直接保存し、この形式から Excel に直接読み込むこともできます。それでも、人間が判読でき、機械で簡単に解析できます。

于 2009-05-29T23:18:18.607 に答える
1

通常、スプレッドシートからテキスト形式でデータを取得したい場合は、CSV (Excel が読み書きできる) を使用します。生成と解析は簡単で、他の多くのツールと互換性がありますが、「人間が読める」チャートでは上位にランクされていません. 読み取ることはできますが、フィールド幅が等しい単純なファイル以外では扱いにくいです。

XML もオプションですが、YAML の方が読みやすいです。人間が判読できるようにすることは、YAML の設計目標の 1 つです。YAML::Tinyモジュールは、典型的なケースに適した軽量のモジュールです。

あなたが念頭に置いているのは、プレーンテキストのテーブル、または列が固定された表形式の可能性があるようです。CPAN には便利なモジュールがいくつかあります: Text::TableText::SimpleTableその他... これらのモジュールは読みやすい表現を生成できますが、解析は難しくなります。(それらはデータの表示を目的としており、保存と検索を目的としていません。)おそらく、独自のパーサーを作成する必要があります。

于 2009-05-30T02:10:21.757 に答える
0

単純なデータ用のConfig::Generalと、それに関連するクラスのファミリもあります。

于 2009-06-02T19:18:44.270 に答える
0

ロバートの答えに加えて、コメントを追加の列に入れるだけです(コンマはExcelなどのCSV出力フィルターによってエスケープされます)。CSV 形式の詳細: www.csvreader.com/csv_format.php

于 2009-05-29T23:41:38.670 に答える
0

XML を使用できない理由はありませんが、この特定のケースではやり過ぎだと思います。

于 2009-05-30T00:11:36.893 に答える