C# read CSV file from URL without downloading


20/08/2021- duocnt    2695 Views    

Các bước thực hiện

  1. Tạo Console project.
  2. Tạo Class với Name ReadCsvOnline.
  3. Đọc CSV file từ URL.
  4. Xem kết quả.

Source code

https://github.com/ntduoc/ReadCSVFileFromURLWithoutDownload.git

THỰC HIỆN

1 - Tạo Console project.


2 - Tạo Class với Name ReadCsvOnline.


  • Viết phương thức khởi tạo và thuộc tính URL cho class ReadCsvOnline.


  • Viết phương thức đọc header của CSV
        public string[] CsvHeaders()
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(resp.GetResponseStream());
            string[] headers;
            headers = sr.ReadLine().Split('\t');
            return headers;
        }



  • Viết phương thức đọc nội dung CSV.
        public StringBuilder CsvContent()
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
            StreamReader sr = new StreamReader(resp.GetResponseStream());
            StringBuilder stringBuilder = new StringBuilder();
 
            sr.ReadLine();
            string textline;
            while ((textline = sr.ReadLine()) != null)
            {
                stringBuilder.Append(textline);
                stringBuilder.Append(";");               
            }
            return stringBuilder;
        }


3 - Đọc CSV file từ URL.

  • Khởi tạo class ReadCsvOnline và truyền tham số URL.
ReadCsvOnline readCsvOnline = new ReadCsvOnline();
readCsvOnline.Url = "https://support.spatialkey.com/wp-content/uploads/2021/02/TechCrunchcontinentalUSA.csv";



  • Gọi phương thức đọc header.
        string[] csvHeader = readCsvOnline.CsvHeaders();
        for (int i = 0; i< csvHeader.Length; i++)
        {
           Console.WriteLine(csvHeader[i]);
        }
        Console.ReadKey();




  • Gọi phương thức đọc nội dung CSV.
string content = readCsvOnline.CsvContent().ToString();
string[] arrContent = content.Split(';');
for(int i=0; i < arrContent.Length; i++)
{
    Console.WriteLine(arrContent[i]);
}
Console.ReadKey();



  • Code đọc SCV đầy đủ.


4 - Kết quả.

  • SCV header.


  • CSV Content.












Góp ý kiến

;
;