問題タブ [rfc4180]
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.
php - PHPでRFC4180CSVファイルを記述できるライブラリはありますか?
私はfputcsvを知っていますが、この「wontfix」バグによると、 fputcsvは入力を正しくエスケープせず、互換性の理由からその動作は修正されません。私はRFC4180に準拠した実装を好みます。そうすれば、ExcelとLibreOfficeはすべての場合にそれを開くことができます。
私はこれを正しく行うライブラリをグーグルで検索しようとしましたが、まともなサードパーティのライブラリについてはコンセンサスが得られていないようです。代わりに、一般的に欠陥のあるfputcsvを示唆しています。私はいつでも自分で転がることができましたが、可能な限り車輪の再発明をしたくありません。
csv - text/csv mimetype のオプションのヘッダー パラメータの構文は適切ですか?
RFC 4180によると:
...ヘッダー行の有無は、この MIME タイプのオプションの「ヘッダー」パラメーターを介して指定する必要があります...
つまり、正しい文字列は次のとおりです。
多分:
または、他の何か?
mysql - 二重引用符がエスケープ文字として使用された CSV ファイルから LOAD DATA
MySQL データベースにロードする必要がある CSV データがたくさんあります。まあ、おそらくCSVっぽい。(編集:実際には、RFC 4180 で説明されているもののように見えます)
各行は、コンマで区切られた二重引用符で囲まれた文字列のリストです。列の値に含まれる二重引用符をエスケープするには、二重引用符を使用します。バックスラッシュはそれ自体を表すことができます。
たとえば、次の行です。
JSON に解析された場合は次のようになります。
を使用して CSV を読み取ろうとしていますが、LOAD DATA
奇妙な動作が発生しています。
例として、単純な 2 列のテーブルがあるとします。
入力ファイルの最初の非ヘッダー行が次で終わる場合""
:
ヘッダー以外のすべての行をロードできますが、最初の行は次のとおりです。
または、ヘッダーを含むすべての行をロードできます。
入力ファイルの行が で終わらない場合""
:
次に、行をロードしないこともできます:
または、ヘッダーを含むすべての行をロードできます。
間違った方法をたくさん発見したのでLOAD DATA
、これらのファイルからデータベースにデータをインポートするにはどうすればよいでしょうか?
csv - 二重引用符がエスケープされた RFC 4180 CSV ファイルをインポートするための SPSS 構文
RFC4180 標準の CSV ファイルを SPSS に読み込むにはどうすればよいですか? 具体的には、2 番目の二重引用符で (適切に) エスケープされた二重引用符が埋め込まれた文字列値を処理する方法は?
問題のある値を持つレコードの 1 つのインスタンスを次に示します。
私が使用した SPSS 構文は次のとおりです。
インポートは成功しますが、そのような値に遭遇すると軌道から外れて警告がスローされます。
csv - VBScript 処理 CSV (RFC4180)
私はシステム管理者であり、開発に少ししか触れていないことを前置きさせてください。これがスタックオーバーフローに関する質問でない場合は、お気軽に移動/削除/正しい方向に向けてください。
私がやろうとしているのは、RFC4180準拠の csv ファイルを読み込んで、各値を配列にスローして、スクリプトをさらに処理することです。以下は、私が思いつくことができる最も複雑ではあるが準拠している csv 行であり、機能しますが、このスクリプトは顧客向けになるため、ロジックを確認してテストし、その部分を示していただければ幸いです。私は物事を逃した。
可能であれば、ベストプラクティスのポインタも欲しいです。
これは抜粋です。基本的には CSV ファイルから 1 行を読み取り、RFC 4180 の理解に基づいてさまざまなことをテストおよび適用しながら、各文字を反復処理します。chr(34) は二重引用符 (") を表します。これが唯一の方法です。 VBScript で比較を行うことができました。
以下は、CSV レコードの行の例です。
regex - 区切られたデータをクリーンアップするために正規表現のヘルプが必要
次のようなパイプ区切りのデータがあります。
そして、私が抱えている問題は、区切りフィールドに対して二重引用符が適切に形成されていないことです (区切り文字または引用符を含むフィールド自体を二重引用符で囲み、二重引用符を除外する必要があります)別の二重引用符で囲みます) 。出力は次のようになります。
正規表現でこれを行う簡単な方法があるかどうか誰でも知っていますか?