C# CSV 파일 읽기 및 쓰기
3236 단어 C#
, 。
csv를 텍스트로 열면 열이 ","으로 분할되어 있음을 알 수 있습니다.C#CSV의 일반적인 쓰기 방법을 읽고 여기에 필기를 하세요.
1. CSV를 읽고 DataTable로 돌아가기
///
/// CSV
///
/// CSV
/// n title, n+1
///
public static System.Data.DataTable CsvToDataTable(string filePath, int n)
{
System.Data.DataTable dt = new System.Data.DataTable();
StreamReader reader = new StreamReader(filePath, System.Text.Encoding.Default, false);
int m = 0;
while (!reader.EndOfStream)
{
m = m + 1;
string str = reader.ReadLine();
string[] split = str.Split(',');
if (m == n)
{
System.Data.DataColumn column ; //
for (int c = 0; c < split.Length;c++ )
{
column = new System.Data.DataColumn();
column.DataType = System.Type.GetType("System.String");
column.ColumnName = split[c];
if (dt.Columns.Contains(split[c])) //
column.ColumnName = split[c] + c;
dt.Columns.Add(column);
}
}
if (m >= n + 1)
{
System.Data.DataRow dr = dt.NewRow();
for (int i = 0; i < split.Length; i++)
{
dr[i] = split[i];
}
dt.Rows.Add(dr);
}
}
reader.Close();
return dt;
}
2. DataTable 데이터 쓰기 CSV
///
/// DataTable CSV
///
/// DataTable
///
public static void dataTableToCsvT(System.Data.DataTable dt, string strFilePath)
{
if (dt == null || dt.Rows.Count == 0) // DataTable
return;
string strBufferLine = "";
StreamWriter strmWriterObj = new StreamWriter(strFilePath, false, System.Text.Encoding.Default);
//
foreach (System.Data.DataColumn col in dt.Columns)
strBufferLine += col.ColumnName + ",";
strBufferLine = strBufferLine.Substring(0, strBufferLine.Length - 1);
strmWriterObj.WriteLine(strBufferLine);
//
for (int i = 0; i < dt.Rows.Count; i++)
{
strBufferLine = "";
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j > 0)
strBufferLine += ",";
strBufferLine += dt.Rows[i][j].ToString().Replace(",", ""); // CSV ,
}
strmWriterObj.WriteLine(strBufferLine);
}
strmWriterObj.Close();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.