問題タブ [fileparsing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Quickbook IIF 形式ファイルの解析
私は Quickbook の IIF ファイル形式を使用しており、IIF ファイルを読み書きするパーサーを作成する必要があり、ファイルの読み取りでいくつかの問題が発生しています。
ファイルはシンプルで、タブ区切りです。すべての行は、テーブル定義または行のいずれかです。定義は「!」で始まります およびテーブル名であり、行はテーブル名だけで始まります。私が直面している問題は次のとおりです。一部のフィールドでは改行が許可されています。
私が最初にこれに遭遇したとき、行ごとではなくタブごとに解析するだけでよいと思いましたが、そのためには改行をタブに置き換える必要があり、列よりも多くの値で巻き上げられましたが、巻き上げました改行があまりにも多くの列に広がっている値を使用してください。
そのようなファイルをどのように解析しますか?
編集:例
java - Javaでテキストファイルを一度に2行ずつ読み取る最良の方法は何ですか?
これは、ファイルを行ごとに処理する方法です。ただし、この場合、反復ごとに2行のテキストをプロセッサに送信したいと考えています。(私が処理しているテキスト ファイルは基本的に 2 行で 1 つのレコードを格納するため、毎回 1 つのレコードをプロセッサに送信しています。)
Javaでこれを行う最良の方法は何ですか?
c++ - プレーンテキストファイルを解析してデータ構造を生成する
自分が書いているゲームのファイルパーサーを作成して、ゲームのさまざまな側面(キャラクター/ステージ/衝突データなど)を簡単に変更できるようにしました。たとえば、次のような文字クラスがあるとします。
C++に似た構文のデータ構造をファイルから読み込むようにパーサーを設定しました
これにより、2つのデータ構造が作成され、マップに配置されます<std::string, Character*>
。ここで、キー文字列は、私が付けた名前(この場合はSidekickとAwesomeDude)です。私のパーサーがチームメイトポインターのようなクラスへのポインターを見ると、そのデータ構造へのポインターをフェッチするためにマップを検索するのに十分賢いです。問題は、Sidekickのチームメイトがまだキャラクターマップに配置されていないため、AwesomeDudeであると宣言できないことです。
マップにまだ追加されていないオブジェクトをデータ構造で参照できるように、これを解決するための最良の方法を見つけようとしています。私が考えることができる2つの最も簡単な解決策は、(a)データ構造を前方宣言する機能を追加するか、(b)パーサーにファイルを2回読み取らせることです。1回目は空のデータ構造へのポインターをマップに入力し、2回目は通過し、それらを記入します。
(a)の問題は、クラスで呼び出すコンストラクターも決定できることです。前方宣言を行う場合は、コンストラクターを残りのデータから分離する必要があり、混乱を招く可能性があります。(b)の問題は、SidekickとAwesomeDudeをそれぞれのファイルで宣言したい場合があることです。パーサーが一度に1つだけではなく、読み取るファイルのリストを取得できるようにする必要があります(これはそれほど悪くはないと思いますが、読み取り先のファイルのリストを取得したい場合もあります。ファイル)。(b)コンストラクター自体で後で宣言されたデータ構造を使用できないという欠点もありますが、それは大したことではないと思います。
どちらの方法がより良いアプローチのように聞こえますか?私が考えていなかった3番目のオプションはありますか?ポインタ参照やバインディングなどを使用して、これに対する巧妙な解決策があるはずです...:-/これは、自分に提供したい機能に基づいてある程度主観的だと思いますが、どのような入力でも構いません。
python - Python でのシンプルなデータ保存
各行が簡単に解析できる配列の文字列表現になるように、Python を使用してデータをフラット ファイルとして保存する簡単なソリューションを探しています。
Pythonにはそのようなタスクを簡単に実行するためのライブラリがあると確信していますが、これまでに見つけたすべてのアプローチは、それを機能させるのが面倒だったようで、より良いアプローチがあると確信しています. これまでのところ、私は試しました:
- array.toFile() メソッドを使用しましたが、文字列のネストされた配列で動作させる方法を理解できませんでした。整数データを対象としているようです。
- リストとセットには toFile メソッドが組み込まれていないため、手動で解析してエンコードする必要がありました。
- CSV は良いアプローチのように思えましたが、これも手動で解析する必要があり、最後に単純に新しい行を追加することはできませんでした。そのため、CSVWriter を新しく呼び出すと、ファイルの既存のデータが上書きされます。
Python以外のソフトウェア前提条件を持たないようにこれを開発しようとしているため、データベースの使用を本当に避けようとしています(SQLiteかもしれませんが、少しやり過ぎのようです)。
c# - C# でのファイル解析
私は Visual Studio 2008 でゲームを構築しています。レベルを構築するために、2 種類のファイルを用意します (実際にはそれ以上ですが、私の質問にとって重要なのはこれら 2 種類だけです)。レベルの内容を指示すると、次のようになります。
LevelName = "サンプル レベル"
Object1Type = "カスタムオブジェクト"
Object1File = "WideFloor_DF"
Object1Position = 600,600
Object2Type = "円"
Object2Position = 550、500
オブジェクト 2 質量 = 5
等
もう 1 つはカスタム オブジェクトのプロパティを指定し、次のようになります。
名称=「ワイドフロア」
質量 = 1
GeometryMap = "WideFloor_GM"
IsStatic = true
等
私は正規表現にあまり詳しくありません(読んでください:ラインノイズに似すぎて簡単に理解できないため、好きではありません)、大量の正規表現を使用するよりも簡単な方法があるかどうか疑問に思っていましたか?
編集:私は何かを忘れていたことを知っていました!私はxmlファイルが本当に嫌いなので、それらを使用しないことを本当に望んでいます(waaaaaaaayは私には冗長すぎます). 編集 2: 私は自分が思いついたフォーマットが好きで、変更したくありません。
scripting - テキストに対する Perl のように、バイナリに対する言語は何ですか?
Perl がテキスト ファイルを非常にスムーズに操作できるように、ファイル内のバイナリ データ (コア ダンプなど) を簡単に分析および操作するためのスクリプト (または高レベルのプログラミング) 言語 (または Python または同様の言語のモジュール) を探しています。
私がやりたいことには、データの任意のチャンクをさまざまな形式 (2 進数、10 進数、16 進数) で提示すること、データをあるエンディアンから別のエンディアンに変換することなどが含まれます。つまり、通常は C やアセンブリを使用するものですが、私は非常に具体的で 1 回限りの目的のための小さなコードを非常に迅速に記述できる言語を探しています。
助言がありますか?
perl - Makefile のような継続行用の最もクリーンな Perl パーサー
私が書いている perl スクリプトは、Makefile のような継続行を持つファイルを解析する必要があります。つまり、空白で始まる行は前の行の一部です。
私は以下のコードを書きましたが、あまりクリーンでも perl っぽいとも思えません (「redo」も使用していません!)。
多くのエッジ ケースがあります: 奇妙な場所での EOF、単一行のファイル、空白行 (または非空白行、または継続行) で開始または終了するファイル、空のファイル。すべてのテスト ケース (およびコード) は次の場所にあります: http://whatexit.org/tal/flatten.tar
私のすべてのテストに合格する、よりクリーンで perl っぽいコードを書くことができますか?
c# - 数値を解析および変更するためのスクリプト
特定の種類のファイルを編集するときは、数字を頻繁に使用しますが、ほとんどの場合、面倒な作業です。ファイルの形式は次のとおりです。
これを解析し、プログラムで各数値を変更できるスクリプトを作成するために、何をお勧めしますか?
言語:C#、一部のF#(noob)、およびLuaを使用しています。正規表現を提案する場合、私はそれらに精通していないので、特定のものを提供できますか?
python - このプログラムでファイルを XML ファイルに解析するのを手伝ってください
入力テキスト ファイルを解析し、a) XML ファイルと b) SVG (XML) ファイルを生成します。
入力テキスト ファイル (input.txt) には、全国の多数の農産物流通センターと保管センターの説明が含まれています。各行は、単一の配送センター (dcenter) または保管センターのいずれかを表し、それぞれに多数のプロパティがあります。各プロパティ名 (コードなど) は、その値によって = で区切られます。
例 (input.txt)
プログラムの望ましい出力:
出力 1
プログラムで私を助けてください。本当に感謝します。
powershell - ファイルを変換するための最適なファイル解析ソリューションは何ですか?
エンタープライズ インポート ルーチンのカスタム ファイル解析に最適なソリューションを探しています。基本的に、1 つのファイル形式を標準のファイル形式に変更し、そのデータをデータベースにインポートするルーチンを 1 つ作成したいと考えています。標準またはテンプレートの形式に顧客を準拠させるのは難しいため、クライアントごとにカスタム スクリプトを作成できる必要があります。これまでのところ、これを行うために PowerShell と Iron Python を見てきましたが、これが私が行きたいルートかどうかはわかりません。また、ドラッグ アンド ドロップ スタイルのツールである Talend などのいくつかのツールも調べましたが、柔軟性に関しては、必要なものが得られる場合とそうでない場合があります。私たちは .NET ショップで、過去にこれを行うためのカスタム コードを作成しましたが、新しいファイル形式を取得するたびにカスタム解析関数をコーディングするよりも迅速に作成できるものが必要です。