我正在尝试读取制表符分隔的 CSV 文件并使用 CSVHelper 对其进行解析。
我有以下内容:
_reader = new StreamReader(_stream);
_csvReader = new CsvReader(_reader);
_csvReader.Configuration.Delimiter = "\t";
但阅读器无法正确识别和解析文件
有任何想法吗 ?
CSVHelper 可能的分隔符是什么?
因此,由于某种原因,事实证明它仅在我执行以下操作时才有效:
_reader = new StreamReader(_stream);
CsvHelper.Configuration.Configuration myConfig = new
CsvHelper.Configuration.Configuration();
_csvReader.Configuration.Delimiter = "\t";
_csvReader = new CsvReader(_reader, myConfig);
我在解析 vb 中的制表符分隔文件时遇到了类似的问题,直到我用 vbTab 替换 "\t" 才对我有用
我的代码:
Imports System.Globalization
Imports System.IO
Imports CsvHelper
Imports CsvHelper.Configuration
Imports CsvHelper.Configuration.Attributes
Public Class TabDelimetedReader
Public Shared Function ReadFile(path As String) As IEnumerable(Of TabFileDefinition)
Dim config = New CsvConfiguration(CultureInfo.InvariantCulture,
hasHeaderRecord:=False,
delimiter:=vbTab)
Using reader As StreamReader = New StreamReader(path)
Using tsv = New CsvReader(reader, config)
Return tsv.GetRecords(Of TabFileDefinition).ToList
End Using
End Using
End Function
End Class
我在制表符分隔的文件中遇到了类似的问题 - 我无法让 Delimiter = "\t" 工作......
然后我Encoding = Encoding.UTF8
在配置中添加,然后它工作了!