嘗試使用CSVhelper將多個.csv文件從目錄合併到一個.csv文件時。在目錄中有50個.csv文件,在這50個文件中,有兩組文件結構,一個包含7列,另一個包含6.每個文件具有完全相同的前5個文件頭,但根據文件最後兩列更改。 CSVfile格式1的使用CSVhelper合併具有不同標題的CSV文件C#
在目錄中的每個文件將持有任一這些結構的與在列中不同的數據。新文件的輸出將具有來自所有列的數據行Action,Code和Error Message。如果我只用示例1的結構使用文件,則文件完美地結合在一起。不過,如果我包括與這兩個結構的文件,並嘗試在我的新文件中使用「ErrorIPAddress」自實施例2我得到以下錯誤:
An unhandled exception of type 'CsvHelper.TypeConversion.CsvTypeConverterException' occurred in CsvHelper.dll
在這一行:`IEnumerable的dataRecord = reader.GetRecords()。 ToList();
我的問題是:如何使用不在另一個文件中的列?我試圖將它與以下映射:Map(m => m.ErrorIPAddress).Index(5);
,我相信這是導致我的問題,如果我註釋它的錯誤不會持續,但顯然我不會將我需要的數據到新的.csv。如果我嘗試按以下名稱映射:Map(m => m.ErrorIPAddress).Name("ErrorIPAddress");
我收到ErrorIPAddress不在.csv文件中的錯誤消息,因爲不是所有文件都有該列。
的最後一列將由ErrorIPAddress列格式2.
我建議你將閱讀不同CSV格式的問題與如何合併不同數據集的問題區分開來。要閱讀CSV文件,請創建2個方法。每種方法都只負責讀取一種類型的CSV。 (CSV的合併不應該是這兩種方法的一部分)。對於每個CSV文件,請嘗試使用一種方法讀取它。如果此方法失敗,請嘗試使用第二種方法讀取它。如果您已閱讀相關的CSV文件,請使用另一種方法(您將必須執行),以根據您的要求合併數據集。 – elgonzo
生成的合併CSV應具有哪種列格式? – robaudas
@robaudas我已經添加到問題。該列將通過示例2中對ErrorIP地址的簡單計數生成。 – johnfish92