Kar*_*nDS 0 c# csv streamreader
使用C#语言制作的CSV阅读器。它可以正常工作,但是我不能忽略双引号行值之间的逗号(',')。
示例:“ aa”,“ aa,bb”,“ cc”
它看起来像
Col1 Col2 Col3 Col4
aa aa bb cc
Run Code Online (Sandbox Code Playgroud)
而不是这样,它应显示为
Col1 Col2 Col3
aa aabb cc
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
public void LoadFile(String path)
{
Table.Rows.Clear();
Table.Columns.Clear();
StreamReader file = File.OpenText(path);
String[] header = file.ReadLine().Split(',');
for (int i = 0; i < Table.ColumnCount; i++)
{
Table.Columns[i].Name = "Col " + i;}
String row = "";
while ((row = file.ReadLine()) != null)
{
Table.Rows.Add(row.Split(','));
}
file.Close();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以通过用正则表达式拆分功能替换拆分功能来解决此问题
Table.Rows.Add(row.Split(','));
Run Code Online (Sandbox Code Playgroud)
应该换成
Table.Rows.Add(Regex.Split(row, ",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)"));
并在顶部添加程序集
using System.Text.RegularExpressions;
Run Code Online (Sandbox Code Playgroud)
这将解决您的问题
| 归档时间: |
|
| 查看次数: |
1683 次 |
| 最近记录: |