非標準の区切り文字(コンマ/引用符またはタブ区切りではない)を持ついくつかの区切られたテキストファイルを処理しようとしています。区切り文字はランダムなASCII文字であり、区切り文字の間に頻繁に表示されることはありません。調べてみたところ、.NETで自分のニーズに合うソリューションは見つからなかったようです。このために作成されたカスタムライブラリには、巨大な入力(いくつかのフィールド値を持つ4GBファイル)に関していくつかの欠陥があるようです。非常に簡単に数百万文字)。
これは少し極端に思えますが、実際には、一部のレビューソフトウェアがドキュメントの完全なコンテンツを含むフィールド値を持つことは、電子ドキュメントディスカバリー(EDD)業界の標準です。参考までに、私は以前、問題なくcsvモジュールを使用してPythonでこれを実行しました。
入力例は次のとおりです。
Field delimiter =
quote character = þ
þFieldName1þþFieldName2þþFieldName3þþFieldName4þ
þValue1þþValue2þþValue3þþSomeVery,Very,Very,Large value(5MB or so)þ
...etc...
編集:それで、私は先に進んで、区切られたファイルパーサーを最初から作成しました。バグが発生しやすいので、このソリューションを使用するのはちょっとうんざりです。また、このようなタスクのために独自のパーサーを作成する必要があることは、「エレガント」または正しいとは感じません。とにかくパーサーを一から書く必要はなかったのではないかと思います。