C# 将大文本文件读入具有特定格式的数组
我有一个包含以下信息格式的文本文件:C# 将大文本文件读入具有特定格式的数组,c#,C#,我有一个包含以下信息格式的文本文件: 1 1.2323232 2.2356 4.232 1.23664 2 1.344545 3 6.2356 7.56455212 etc.... 如何读取C#中的文件,将其解析为数组,然后对其进行处理?使用 例如,您只需将记录解析定义为: [DelimitedRecord("|")] public class Orders { public int OrderID; public string CustomerID; [Fi
1 1.2323232 2.2356 4.232 1.23664
2 1.344545
3 6.2356 7.56455212
etc....
如何读取C#中的文件,将其解析为数组,然后对其进行处理?使用
例如,您只需将记录解析定义为:
[DelimitedRecord("|")]
public class Orders
{
public int OrderID;
public string CustomerID;
[FieldConverter(ConverterKind.Date, "ddMMyyyy")] public DateTime OrderDate;
public decimal Freight;
}
FileHelperEngine engine = new FileHelperEngine(typeof(Orders));
// to Read use:
Orders[] res = engine.ReadFile("TestIn.txt") as Orders[];
// to Write use:
engine.WriteFile("TestOut.txt", res);
并按如下方式读取文件:
[DelimitedRecord("|")]
public class Orders
{
public int OrderID;
public string CustomerID;
[FieldConverter(ConverterKind.Date, "ddMMyyyy")] public DateTime OrderDate;
public decimal Freight;
}
FileHelperEngine engine = new FileHelperEngine(typeof(Orders));
// to Read use:
Orders[] res = engine.ReadFile("TestIn.txt") as Orders[];
// to Write use:
engine.WriteFile("TestOut.txt", res);
您可以将分隔符更改为
”
&并适当地更新成员类型 嘿,您的代码看起来好像在位置1处有一个ID值。所以我创建了一些示例代码
private List<MyValues> Read(string fileName)
{
var result = new List<MyValues>();
var line = new string[] { };
using (StreamReader sr = new StreamReader(fileName))
{
while (sr.Peek() > -1)
{
line = sr.ReadLine().Trim().Split(' ');
var val = new MyValues();
val.Id = Convert.ToInt32(line.ElementAt(0));
for (int n = 1; n < line.Count(); n++)
{
val.Values.Add(Convert.ToDouble(line[n]));
}
result.Add(val);
}
}
return result;
}
class MyValues
{
public int Id = 0;
public List<double> Values = new List<double>();
}
私有列表读取(字符串文件名)
{
var result=新列表();
变量行=新字符串[]{};
使用(StreamReader sr=新StreamReader(文件名))
{
while(sr.Peek()>-1)
{
line=sr.ReadLine().Trim().Split(“”);
var val=新的MyValues();
val.Id=转换为32(第0行元素);
对于(int n=1;n
至少您尝试过解决它吗?用所需数据发布示例数组。不清楚您是希望每一行都有一个数组索引,还是希望每一行都有不同的索引?我不知道对您来说“大”是什么。根据文件的大小,最好小心使用内存存储所有行的数组,而不是直接处理它的序列(如写入db…)。