输入数组比 txt 数据集中 table 中的列长
Input array is longer than the column in the table in txt dataset
我是 C# 的新手,我想知道如何从 txt 数据集中提取数据并将其放入 C# 数据集中并使用它执行一些计算。
这就是我的数据集的样子
5.982 0.228 0.237 0.221 0.222 0.527
2.13 0.262 0.273 0.251 0.254 0.427
这是我的业余代码:
string file = "D://test1.txt";
string tableName = "table";
string delimiter = "\t";
DataSet ds = new DataSet();
StreamReader s = new StreamReader(file);
ds.Tables.Add(tableName);
string AllData = s.ReadToEnd();
foreach (string r in rows)
{
string[] items = r.Split(delimiter.ToCharArray());
ds.Tables[TableName].Rows.Add(items);
}
int MaxRows = ds.Tables[0].Rows.Count;
Console.Write(MaxRows);
Console.ReadLine();
总是显示错误:
Input array is longer than the number of columns in this table.
您必须先添加一些列来保存数据。类似于:
var tableName = "MyTableName";
DataTable table = ds.Tables.Add(tableName);
table.Columns.Add("firstColumnName", typeof(string));
table.Columns.Add("secondColumnName", typeof(string));
table.Columns.Add("thirdColumnName", typeof(string));
table.Columns.Add("fourthColumnName", typeof(string));
table.Columns.Add("fifthColumnName", typeof(string));
table.Columns.Add("sixthColumnName", typeof(string));
作为如何向此添加行的示例table:
const string dataFilePath = @"d:\public\temp\data.txt";
string[] fileData = File.ReadAllLines(dataFilePath);
var numColumns = table.Columns.Count;
foreach (string dataItem in fileData)
{
var items = dataItem.Split(delimiter.ToCharArray()).Take(numColumns);
table.Rows.Add(items);
}
我是 C# 的新手,我想知道如何从 txt 数据集中提取数据并将其放入 C# 数据集中并使用它执行一些计算。
这就是我的数据集的样子
5.982 0.228 0.237 0.221 0.222 0.527
2.13 0.262 0.273 0.251 0.254 0.427
这是我的业余代码:
string file = "D://test1.txt";
string tableName = "table";
string delimiter = "\t";
DataSet ds = new DataSet();
StreamReader s = new StreamReader(file);
ds.Tables.Add(tableName);
string AllData = s.ReadToEnd();
foreach (string r in rows)
{
string[] items = r.Split(delimiter.ToCharArray());
ds.Tables[TableName].Rows.Add(items);
}
int MaxRows = ds.Tables[0].Rows.Count;
Console.Write(MaxRows);
Console.ReadLine();
总是显示错误:
Input array is longer than the number of columns in this table.
您必须先添加一些列来保存数据。类似于:
var tableName = "MyTableName";
DataTable table = ds.Tables.Add(tableName);
table.Columns.Add("firstColumnName", typeof(string));
table.Columns.Add("secondColumnName", typeof(string));
table.Columns.Add("thirdColumnName", typeof(string));
table.Columns.Add("fourthColumnName", typeof(string));
table.Columns.Add("fifthColumnName", typeof(string));
table.Columns.Add("sixthColumnName", typeof(string));
作为如何向此添加行的示例table:
const string dataFilePath = @"d:\public\temp\data.txt";
string[] fileData = File.ReadAllLines(dataFilePath);
var numColumns = table.Columns.Count;
foreach (string dataItem in fileData)
{
var items = dataItem.Split(delimiter.ToCharArray()).Take(numColumns);
table.Rows.Add(items);
}