C# 如何确定.csv文件中的单元格是否为空?
我试图解析.csv文件中的一列(该文件仅由一列填充了两个数字组成),但C#在遇到空单元格时抛出错误C# 如何确定.csv文件中的单元格是否为空?,c#,csv,C#,Csv,我试图解析.csv文件中的一列(该文件仅由一列填充了两个数字组成),但C#在遇到空单元格时抛出错误 {"Input string was not in a correct format."} 发生这种情况时,我希望程序继续处理下一个单元格。有办法吗 注意:我试过了 if(array[i] != null) 但这似乎不起作用 我使用此块读取.csv: var column = new List<string>(); using (var rd =
{"Input string was not in a correct format."}
发生这种情况时,我希望程序继续处理下一个单元格。有办法吗
注意:我试过了
if(array[i] != null)
但这似乎不起作用
我使用此块读取.csv:
var column = new List<string>();
using (var rd = new StreamReader(@"pathofthecsvfile"))
{
while (!rd.EndOfStream)
{
var splits = rd.ReadLine().Split(';');
column.Add(splits[0]);
}
}
string[] arr = column.ToArray();
double[] array = new double[arr.Length];
//problem is in this block
for (int i = 0; i < array.Length; i++)
{
if (arr[i] != null)
{
array[i] = Convert.ToDouble(arr[i]);
}
}
var column=newlist();
使用(var rd=newstreamreader(@“pathofthecsvfile”))
{
而(!rd.EndOfStream)
{
var splits=rd.ReadLine().Split(“;”);
添加(拆分[0]);
}
}
字符串[]arr=column.ToArray();
double[]数组=新的double[arr.Length];
//问题出在这个街区
for(int i=0;i
插入时,我会检查它:
if split[0] != null && split[0] != "" {
column.Add(splits[0]);
}
您没有验证加载到数组中的数据是否为有效格式-
Convert。ToDouble
将因多种原因失败,而不仅仅是null
值和空
字符串。
如果您只想跳到下一列,请在for
循环中使用TryParse
:
double.TryParse(arr[i], out array[i]);
文件是什么样子的?你是怎么读的?这个文件只有一列,里面有两个数字。把这个文件。。。否则没有人能帮你。有很多方法可以读取CSV文件。有库,有你自己的代码。有无数种方法可以编写自己的代码。您需要分享如何读取CSV文件。关于您的更新:您如何填充
数组
?如果您想知道某个特定的空列的最终值,您需要做的就是创建一个具有空列值的文件,并查看您正在使用的代码返回的值。您将能够看到它是否为空(不会为空),或者如果不是,它实际上是什么,因此您可以将其与之进行比较。