gpt4 book ai didi

c# - 查找csv文件中每一列的最大长度

转载 作者:行者123 更新时间:2023-11-30 20:28:39 25 4
gpt4 key购买 nike

因此,我试图在控制台应用程序中显示一个 csv 文档。但是,由于其中的文本大小不同,输出不是可呈现的格式。

为了展示它,我尝试计算每列文本的最大长度,然后将空格附加到该列中的剩余文本,以便每列中的字符长度相等。

我试图获取字符数,但似乎无法弄清楚如何进一步进行。

var file = File.ReadAllLines(@"E:\File.csv");
var lineList = file.Select(x => x.Split(',').ToList()).ToList();
int maxColumn = lineList.Select(x => x.Count).Max(x => x);
List<int> maxElementSize = new List<int>();
for (int i = 0; i < maxColumn; i++)
{
//Some Logic
}

如有任何帮助,我们将不胜感激。

最佳答案

这是一个示例控制台应用程序,用于获取每列的最大字符长度:

 static void Main(string[] args)
{
string CSVPath = @"D:\test.csv";
string outputText = "";

using (var reader = File.OpenText(CSVPath))
{
outputText = reader.ReadToEnd();
}

var colSplitter = ',';
var rowSplitter = new char[] { '\n' };

var rows = (from row in outputText.Split(rowSplitter, StringSplitOptions.RemoveEmptyEntries)
let cols = row.Split(colSplitter)
from col in cols
select new { totalCols = cols.Count(), cols = cols }).ToList();

int[] maxColLengths = new int[rows.Max(o => o.totalCols)];

for (int i = 0; i < rows.Count; i++)
{
for (int j = 0; j < rows[i].cols.Count(); j++)
{
int curLength = rows[i].cols[j].Trim().Length;

if (curLength > maxColLengths[j])
maxColLengths[j] = curLength;
}
}

Console.WriteLine(string.Join(", ", maxColLengths));
}

希望这对您有所帮助。

关于c# - 查找csv文件中每一列的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47011500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com