优化HTTP请求和多个分裂对CSV文件

本文关键字:分裂 CSV 文件 HTTP 请求 求和 优化 | 更新日期: 2023-09-27 18:13:15

我试图从网站读取CSV文件,然后通过'n拆分初始字符串,然后通过,再次拆分。当我尝试打印其中一个数组的内容时,它非常慢,每个Console.WriteLine()打印每个元素之间几乎需要一秒钟。

我不太明白为什么要花这么多时间来打印。

任何指针都有帮助

public List<string[]> list = new List<string[]>();
    public List<string[]> Content
    {
        get
        {
            using (var url = new WebClient())
            {
                _content = url.DownloadString("https://docs.google.com/spreadsheets/d/1DDhAd98p5RwXqvV53P2YvaujIQEg28HjeXasrCge9Qo/pub?output=csv");
            }
            var urlArr = _content.Split(''n');
            foreach (var i in urlArr)
            {
                var contentArr = i.Split(',');
                List.Add(contentArr);
            }
            return list;
        }
    }
主要

 var data = new ReadCSV(); 
 for(var i = 0; i < data.Content[2].Length; i++)
        Console.WriteLine(data.Content[2][i]);

优化HTTP请求和多个分裂对CSV文件

您应该在变量中缓存结果,无论是在Content属性中还是在循环之前,因为目前您的代码每次在循环中下载并分割字符串,这就是为什么它需要1秒

所以,你的代码应该是这样的:
var data = new ReadCSV(); 
var content = data.Content[2];
 for(var i = 0; i < content.Length; i++)
        Console.WriteLine(content[2][i]);