問題タブ [csvhelper]
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.
asp.net-mvc-3 - C# MVC で csvhelper (nuGET) を使用して CSV ファイルをインポートする
NuGet 経由で入手できるhttps://joshclose.github.io/CsvHelper/は、CSV ファイルの読み取りと書き込みに使用されます。
CsvHelper を使用すると、CSV ファイルをカスタム クラスに直接読み込むことができます。
以下は前の質問で示されたように
CsvReader は、ヘッダー行に基づいてプロパティ名を一致させる方法を自動的に判断します (これは構成可能です)。リフレクションの代わりにコンパイルされた式ツリーを使用するため、非常に高速です。
また、非常に拡張可能で構成可能です。
私は基本的に、ヘッダー (不明な名前) を含む CSV ファイルを読み取り、レコードをカスタム オブジェクトに読み取る方法を考え出そうとしています。
これに関するドキュメントはまったくないので、CsvReader を使用して値を文字列の配列に並べる方法を誰かが知っているかどうか疑問に思いましたか、またはこれをどのように処理することをお勧めしますか?
c# - C# で、文字列から TextReader オブジェクトを作成するにはどうすればよいですか (ディスクに書き込まずに)
A Fast CSV Readerを使用して、貼り付けられたテキストを Web ページに解析しています。Fast CSV リーダーには TextReader オブジェクトが必要ですが、私が持っているのは文字列だけです。その場で文字列を TextReader オブジェクトに変換する最良の方法は何ですか?
ありがとう!
更新 - サンプル コード - 元のサンプルでは、新しい StreamReader が「data.csv」というファイルを探しています。TextBox_StartData.Text 経由で提供したいと考えています。
以下のコードを使用してもコンパイルされません。
は、new StreamReader(sr)
いくつかの無効な引数があることを示しています。何か案は?
別のアプローチとして、私はこれを試しました:
しかしIllegal characters in path Error.
、TextBox_StartData.Text からの文字列のサンプルを次に示します。
これが正しいアプローチである場合、何かアイデアはありますか? ご協力いただきありがとうございます。
c# - ファイルのアップロードでCSVHelperを使用する
CSVhelperプラグインを使用して、アップロードされたCSVファイルを読み取ろうとしています。これが私のmodelBinderクラスです:
これらは私がマップしようとしているオブジェクトです:
Visual Studioデバッガー内でエラーが発生します:
base {"You must call read on the reader before accessing its data."} CsvHelper.CsvHelperException {CsvHelper.CsvReaderException}
c# - CsvHelper を使用して、空白を nullable に変換できますか?
解析する必要がある非常に不十分な Csv ファイルがいくつかあります。私は CsvHelper を使用していますが、うまく機能しています。ただし、通常は二重の空白がある行がいくつかあります。
ファイル:
Text,SomeDouble,MoreText
"良い",1.23,"良い"
「悪い」、「悪い」
これをマッピングしようとすると
次に、次のようなエラーが表示されます。
CsvHelper.CsvReaderException: タイプのレコードを読み取ろうとしてエラーが発生しました
行: '2' (1 ベース)
フィールド インデックス: '1' (0 ベース)
フィールド名: 'SomeDouble'
フィールド値: ' '
System.Exception: は Double の有効な値ではありません。---> System.FormatException: 入力文字列が正しい形式ではありませんでした。
System.Number.ParseDouble (文字列値、NumberStyles オプション、NumberFormatInfo numfmt) で System.ComponentModel.DoubleConverter.FromString (文字列値、NumberFormatInfo formatInfo) で System.ComponentModel.BaseNumberConverter.ConvertFrom (ITypeDescriptorContext コンテキスト、CultureInfo カルチャ、オブジェクト値) - -- 内部例外スタック トレースの終わり --- System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext コンテキスト、CultureInfo カルチャ、オブジェクト値) で System.ComponentModel.NullableConverter.ConvertFrom(ITypeDescriptorContext コンテキスト、CultureInfo カルチャ、オブジェクト値) で lambda_method( Closure 、 ICsvReader ) CsvHelper.CsvReader.d__0`1.MoveNext() で
私の考えでは、カスタム パーサーを作成するか、値を文字列プロパティにマップしてそこで解析を行うという選択肢があります。
他のオプションはありますか?
空白をnullとして扱いたいという設定ができればいいのですが。
リクエストに応じて、問題を再現するコード サンプルを次に示します。
ありがとう。
c# - CsvHelperがメモリストリームに何も書き込まない
私は次の方法を持っています:
これはオブジェクトのリストで呼び出されます-最終的にはデータベースからですが、何かが機能していないため、静的コレクションにデータを入力しているだけです。渡されるオブジェクトは次のとおりです。
私がやろうとしているのは、MVCアプリケーションにダウンロードするためにコレクションをcsvに書き込むことです。ただし、メソッドに書き込もうとするたびに、MemoryStreamは長さがゼロで戻ってきて、何も渡されません。私は以前にこれを使用しましたが、何らかの理由で機能していません-少し混乱しています。私がここで間違ったことを誰かが私に指摘できますか?
乾杯
c# - CsvHelperがWriteRecordsを公開しない
Nugetを介してプロジェクトにCsvHelperを追加しました。ここでCsvHelperwikiページを見る:https ://github.com/JoshClose/CsvHelper/wiki/Basics 、それはCsvHelperがWriteRecordsメソッドを公開していると言います。
どこに行ったの?アセンブリに見つかりません。
c# - CsvHelper を使用してヘッダー行の属性を変更する方法はありますか?
CsvHelper を使用して、大量のデータを CSV ファイルに出力するプログラムを作成しています。ヘッダー行は、約 35 列の行です。ここにいくつかのコードがあります...
いわば、列の幅を変更したり、セルの背景色を変更したり、何かできるかどうか疑問に思っていました。私はしばらくウェブを検索してきましたが、何も思いつきませんでした。どんな助けでも大歓迎です。