Linq(C#)에서 CSV 파일을 구문 분석하는 방법
내 유튜브 채널 (구독하려면 아래 이미지를 클릭하세요)
아래 CSV 파일의 일부입니다.
(전체 파일은 내 github 위치에서 다운로드할 수 있습니다.
https://github.com/hemantgovekar/ParseCSVWithLinq/blob/master/ParseCSV/Player.csv )
Player_Id,Player_Name,DOB,BattingHand,BowlingSkill,Country,Is_Umpire,
1,SC Ganguly,08-Jul-72,Left_Hand,Right-arm medium,India,0,
2,BB McCullum,27-Sep-81,Right_Hand,오른팔 중간,뉴질랜드,0,
3,RT Ponting,19-Dec-74,Right_Hand,Right-arm medium,Australia,0,
4,DJ Hussey,15-Jul-77,Right_Hand,Right-arm offbreak,Australia,0,
5,Mohammad Hafeez,17-Oct-80,Right_Hand,Right-arm offbreak,Pakistan,0,
6,R Dravid,11-Jan-73,Right_Hand,Right-arm offbreak,India,0,
7,W Jaffer,16-Feb-78,Right_Hand,Right-arm offbreak,India,0,
8,V Kohli,05-Nov-88,Right_Hand,오른팔 매체,India,0,
9,JH Kallis,16-Oct-75,Right_Hand,Right-arm fast-medium,South Africa,0,
10,CL 화이트,18-Aug-83,Right_Hand,Legbreak googly,Australia,0,
11,MV Boucher,03-Dec-76,Right_Hand,Right-arm medium,South Africa,0,
12,B Akhil,07-Oct-77,Right_Hand,오른팔 중간 속도,India,0,
13,AA Noffke,30-Apr-77,Right_Hand,Right-arm fast-medium,Australia,0,
14,P Kumar,02-Oct-86,Right_Hand,오른팔 매체,India,0,
15,Z Khan,07-Oct-78,Right_Hand,Left-arm fast-medium,India,0,
.......
.......
.......
.......
코드 베이스
/* csv에 액세스하기 위한 C# 파일/
/문 사용 */
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ParseCSV
{
class Program
{
static void Main(string[] args)
{
var players = ProcessCSV("Player.csv");
foreach (var player in players)
{
Console.WriteLine(player.PlayerName + ' ' + player.Country);
}
Console.ReadLine();
}
private static List<Player> ProcessCSV(string path)
{
return File.ReadAllLines(path)
.Skip(1)
.Where(row => row.Length > 0)
.Select(Player.ParseRow).ToList();
}
}
public class Player
{
public int Id { get; set; }
public string PlayerName { get; set; }
public string PayerDOB { get; set; }
public string BattingHand { get; set; }
public string BowlingSkills { get; set; }
public string Country { get; set; }
public string IsUmpire { get; set; }
internal static Player ParseRow(string row)
{
var columns = row.Split(',');
return new Player()
{
Id = int.Parse(columns[0]),
PlayerName = columns[1],
PayerDOB = columns[2],
BattingHand = columns[3],
BowlingSkills = columns[4],
Country = columns[5],
IsUmpire = columns[6]
};
}
}
}
Reference
이 문제에 관하여(Linq(C#)에서 CSV 파일을 구문 분석하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hemantgovekar/how-to-parse-a-csv-file-from-linq-c-3196텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)