C# 所以我想我需要分开一根线
所以我有这个应用程序,它是我从一个早已离开的人那里继承来的。该应用程序的要点是,它读入一个.cvs文件,该文件中有大约5800行,然后将其复制到另一个.cvs上,每次都会在去掉一些内容后创建新的.cvs。好吧,一切都很好,或者直到一个月前。所以我开始检查它,到目前为止我发现电子表格中大约有131项缺失。现在我在某个地方读到,一个字符串可以保存的最大数据量超过100000000个字符,我的电子表格也在这一数字之下,大约800000个字符,但我唯一能想到的就是字符串对象 不管怎样,这是有问题的代码,这段代码出现了 要从现有字段读入并输出到新文件,请执行以下操作:C# 所以我想我需要分开一根线,c#,.net,C#,.net,所以我有这个应用程序,它是我从一个早已离开的人那里继承来的。该应用程序的要点是,它读入一个.cvs文件,该文件中有大约5800行,然后将其复制到另一个.cvs上,每次都会在去掉一些内容后创建新的.cvs。好吧,一切都很好,或者直到一个月前。所以我开始检查它,到目前为止我发现电子表格中大约有131项缺失。现在我在某个地方读到,一个字符串可以保存的最大数据量超过100000000个字符,我的电子表格也在这一数字之下,大约800000个字符,但我唯一能想到的就是字符串对象 不管怎样,这是有问题的代码,
StreamReader s = new StreamReader(File);
//Read the rest of the data in the file.
string AllData = s.ReadToEnd();
//Split off each row at the Carriage Return/Line Feed
//Default line ending in most windows exports.
//You may have to edit this to match your particular file.
//This will work for Excel, Access, etc. default exports.
string[] rows = AllData.Split("\r\n".ToCharArray(), System.StringSplitOptions.RemoveEmptyEntries);
//Now add each row to the DataSet
foreach (string r in rows)
{
//Split the row at the delimiter.
string[] items = r.Split(delimiter.ToCharArray());
//Add the item
result.Rows.Add(items);
}
如果有人能帮助我,我将非常感激。我需要弄清楚如何更好地分割数据,或者我需要弄清楚它为什么要将现有excel文件中的最后131行剪切到新的excel文件。一种更简单的方法,因为您使用的是
“\r\n”
行,只需使用内置的行读取方法:file.ReadLines(path)
一种更简单的方法是使用内置的行读取方法:
File.ReadLines(path)
一种更简单的方法是使用内置的行读取方法:
File.ReadLines(path)
一种更简单的方法是使用内置的行读取方法:
File.ReadLines(path)
您可能希望签出该类,该类是
Microsoft.VisualBasic.FileIO
命名空间的一部分(是的,您可以将其与C#代码一起使用)
大致如下:
using(var reader = new TextFieldParser("c:\\path\\to\\file"))
{
//configure for a delimited file
reader.TextFieldType = FieldType.Delimited;
//configure the delimiter character (comma)
reader.Delimiters = new[] { "," };
while(!reader.EndOfData)
{
string[] row = reader.ReadFields();
//do stuff
}
}
当字段可能包含分隔符时,此类可以帮助解决将行拆分为字段的一些问题。您可能需要签出该类,该类是Microsoft.VisualBasic.FileIO命名空间的一部分(是的,您可以将其与C#代码一起使用) 大致如下:
using(var reader = new TextFieldParser("c:\\path\\to\\file"))
{
//configure for a delimited file
reader.TextFieldType = FieldType.Delimited;
//configure the delimiter character (comma)
reader.Delimiters = new[] { "," };
while(!reader.EndOfData)
{
string[] row = reader.ReadFields();
//do stuff
}
}
当字段可能包含分隔符时,此类可以帮助解决将行拆分为字段的一些问题。您可能需要签出该类,该类是Microsoft.VisualBasic.FileIO命名空间的一部分(是的,您可以将其与C#代码一起使用) 大致如下:
using(var reader = new TextFieldParser("c:\\path\\to\\file"))
{
//configure for a delimited file
reader.TextFieldType = FieldType.Delimited;
//configure the delimiter character (comma)
reader.Delimiters = new[] { "," };
while(!reader.EndOfData)
{
string[] row = reader.ReadFields();
//do stuff
}
}
当字段可能包含分隔符时,此类可以帮助解决将行拆分为字段的一些问题。您可能需要签出该类,该类是Microsoft.VisualBasic.FileIO命名空间的一部分(是的,您可以将其与C#代码一起使用) 大致如下:
using(var reader = new TextFieldParser("c:\\path\\to\\file"))
{
//configure for a delimited file
reader.TextFieldType = FieldType.Delimited;
//configure the delimiter character (comma)
reader.Delimiters = new[] { "," };
while(!reader.EndOfData)
{
string[] row = reader.ReadFields();
//do stuff
}
}
当字段可能包含分隔符时,此类可以帮助解决将一行拆分为其字段的一些问题。或
文件。ReadLines
如果您担心性能,并且不希望一次将整个文件存储在内存中,请不要忘了“数据”中可能包含逗号,因此您不希望这样解析它。使用一些已经构建的MyID1,“嗨,我的名字是abc”,其他一些数据,等等。。。你看到这里的问题了吧?我很喜欢你的代码改进。但我看不出它是如何回答这个问题的。他说,如果你在其中一个单元格的内容中有一个逗号,你可能会出错。这取决于你的数据。例如:1,2,“chase,justin”,xyz,345
。在引用区域中出现逗号将被拆分,这将是一个问题。如果你没有这样的数据,那就不用担心了。否则,您可能需要在regex.orFile.ReadLines上拆分文件。如果您担心性能,并且不希望将整个文件一次性存储在内存中,请不要忘记“数据”中可能包含逗号,因此您不希望这样解析它。使用一些已经构建的MyID1,“嗨,我的名字是abc”,其他一些数据,等等。。。你看到这里的问题了吧?我很喜欢你的代码改进。但我看不出它是如何回答这个问题的。他说,如果你在其中一个单元格的内容中有一个逗号,你可能会出错。这取决于你的数据。例如:1,2,“chase,justin”,xyz,345
。在引用区域中出现逗号将被拆分,这将是一个问题。如果你没有这样的数据,那就不用担心了。否则,您可能需要在regex.orFile.ReadLines上拆分文件。如果您担心性能,并且不希望将整个文件一次性存储在内存中,请不要忘记“数据”中可能包含逗号,因此您不希望这样解析它。使用一些已经构建的MyID1,“嗨,我的名字是abc”,其他一些数据,等等。。。你看到这里的问题了吧?我很喜欢你的代码改进。但我看不出它是如何回答这个问题的。他说,如果你在其中一个单元格的内容中有一个逗号,你可能会出错。这取决于你的数据。例如:1,2,“chase,justin”,xyz,345
。在引用区域中出现逗号将被拆分,这将是一个问题。如果你没有这样的数据,那就不用担心了。否则,您可能需要在regex.orFile.ReadLines上拆分文件。如果您担心性能,并且不希望将整个文件一次性存储在内存中,请不要忘记“数据”中可能包含逗号,因此您不希望这样解析它。使用一些已经构建的MyID1,“嗨,我的名字是abc”,其他一些数据,等等。。。你看到这里的问题了吧?我很喜欢你的代码改进。但我看不出它是如何回答这个问题的。他说,如果你在其中一个单元格的内容中有一个逗号,你可能会出错。这取决于你的数据。例如:1,2,“chase,justin”,xyz,345
。存在