C# 如何读取txt文件并在控制台应用程序中将其显示为表?
我很抱歉,如果我的提问措辞错误,造成混乱。但这是我想做的。我想让程序读取txt文件,然后像表格一样排列数据 txt文件可以如下所示:C# 如何读取txt文件并在控制台应用程序中将其显示为表?,c#,C#,我很抱歉,如果我的提问措辞错误,造成混乱。但这是我想做的。我想让程序读取txt文件,然后像表格一样排列数据 txt文件可以如下所示: fullname1|ID1|age1|mark1 fullname2|ID2|age2|mark2 fullname3|ID3|age3|mark3 我已经找到了几种方法,但没有一种对我有效,我正在自学C#但是我的英语有限,所以我很难找到更深层的解决办法。因为我很无聊 给定的 fullname1|ID1|age1|mark1546 sdfdsf|ID2|age5
fullname1|ID1|age1|mark1
fullname2|ID2|age2|mark2
fullname3|ID3|age3|mark3
我已经找到了几种方法,但没有一种对我有效,我正在自学C#但是我的英语有限,所以我很难找到更深层的解决办法。因为我很无聊
给定的
fullname1|ID1|age1|mark1546
sdfdsf|ID2|age56|mark2
gfhxcxvxcvxc|ID3|age3|mark3
代码
// read lines
var lines = File.ReadAllLines(@"D:\Data.txt")
.Select(x => x.Split('|'))
.ToArray();
// calculate column widths
var widths = Enumerable.Range(0, lines[0].Length)
.Select(x => lines.Max(y => y[x].Length))
.ToArray();
// Write the lines with padding each column with its max width
foreach (var line in lines)
Console.WriteLine(string.Join(", ", line.Select((x,i) => x.PadRight(widths[i], ' '))));
输出
fullname1 , ID1, age1 , mark1546
sdfdsf , ID2, age56, mark2
gfhxcxvxcvxc, ID3, age3 , mark3
免责声明:显然这是一种假设,因此我不对您使用此代码可能伤害的人负责看起来您实际上拥有一个CSV文件,其中管道(
|
)作为分隔符,而不是逗号(,
)。您可能会使用CsvHelper.Io之类的库来读取该文件。您预期的输出是什么?到目前为止您尝试了什么?您的输入看起来已经是表格形式了。您想要的实际输出是什么?这是一个综合问题。你需要把问题分解成更小的部分。1) 读取文件。2) 显示数据。我希望输出像一个带有@prasadelkikikar列的表