[英]Reading text data from tab delimited file without headers in C#
我想從 a.txt 文件中讀取文本數據,其中的數據是制表符分隔的。 我正在粘貼下面的示例數據。 [1]: https://i.stack.imgur.com/t9cPt.png
現在我想要的是將數據讀入一個沒有標題的字符串類型列表。
我目前有以下代碼:
var sepList = new List<string>();
// Read the file and display it line by line.
using (var file = new StreamReader(docPath))
{
string line;
while ((line = file.ReadLine()) != null)
{
var delimiters = '\t';
var segments = line.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
foreach (var segment in segments)
{
//Console.WriteLine(segment);
sepList.Add(segment);
}
}
}
任何幫助將不勝感激:)[![在此處輸入圖片描述][1]][1]
我想要的是將數據讀入一個沒有標題的字符串類型列表。
添加file.ReadLine();
在讀取文件之前,它將跳過 header 或文件的第一行。
var sepList = new List<string>();
using (var file = new StreamReader(docPath))
{
// Skip the first line (the header)
file.ReadLine();
string line;
while ((line = file.ReadLine()) != null)
{
var delimiters = '\t';
var segments = line.Split(
delimiters, StringSplitOptions.RemoveEmptyEntries
);
foreach (var segment in segments)
{
// console.WriteLine(segment);
sepList.Add(segment);
}
}
}
你可以用一行得到你的結果。
var data = File.ReadLines(docPath)
.Skip(1)
.Select(x => x.Split(new char[] {'\t'},StringSplitOptions.RemoveEmptyEntries))
.SelectMany(k => k);
首先,我們使用 File.ReadLines 枚舉文件中的行,創建一個序列,我們可以將其提供給以下命令。 然后我們跳過序列的第一行,對剩余的項目應用 Split 操作,得到另一個包含兩個或更多值的序列,我們可以將這些值作為單個項目添加到分配給數據變量的 IEnumerable 中。 當然 ToList 會將 IEnumerable 實體化為最終處理數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.