0

この問題が発生しました。一連のパフォーマンス データを含む約 10,000 の xml ファイルがあります。分割してから、それらを Excel にインポートして、そこからグラフを生成できるようにする必要があります。

これを解決するための最良のアプローチは何かを決定しようとしています。Excel が有効な xml 形式として認識しないため、直接インポートできません。(Excelはスキーマが認識されないか何かを教えてくれます)

ファイル形式は次のようになります: (有用な情報のみを含めました。) ファイルの名前は次のようになります: YYDDMM.startOfPMPeriod_endOfPMPeriod ファイル内:

<time stamp>
<PM category1>
<PM category2>
<PM category3>
...

<sub system 1>
<result>1</result>
<result>2.0</result>
...

<sub system 2>
<result>0.221</result>
<result>2.0</result>
...

<sub system n>
<result>1</result>
<result>2.0</result>

そして、これらのファイルは約10kあります。各ファイルは約 6k 行になります。:)

これにアプローチする方法がわかりません。私はそれの基本的なロジックを得ました:

while (we got more files to read) 
    read a file
    parse PM category and timestamp
          while (not end of file)
               reading in results data and the subsystems
    //store it in an array of some sort, but I am not sure about the structure of it
//once we are done with our files
pass the array to excel, (somehow, maybe as a CSV?)

これを解決するための最良のアプローチは何だと思いますか?私のプログラミングスキルは限られています。Java、C++、および bash スクリプトに精通しています。3次元配列は私を超えています。私は2次元で十分な問題を抱えています。:) 私の最も複雑な課題は、Java を使用してマルチスレッドのバンキング アプリケーションを作成することでした。

デービー

更新: これは Excel 2003 用であり、Excel テーブルは次のようになります: 画像を添付できないため、これで間に合わせる必要があります:

                      timestamp 1   timestamp2  timestamp 3
subsystem 1 pm cat 1
            pm cat 2
            pm cat 3

subsystem 2 pm cat 1
            pm cat 2
            pm cat 3
4

1 に答える 1

0

VSTOを使用してデータを挿入することから始めることをお勧めします。1 つの行を挿入したら、学んだことを再利用して複数の行を挿入できます。

XML から NxN 配列への変換は、XML 解析を攻撃するための非常に複雑な手段です。XML 解析は、XPATHまたはLINQ to XMLを介して効果的に実行できます。LINQ の経験がない場合は、XPATH から始めるのがよいでしょう。

まず、行を Excel でどのように表示するかを決定し、それに応じて XML を抽出します。これにより、N x N 配列が回避され、既知の出力を生成するという目標が得られます。

于 2012-08-20T15:31:40.557 に答える