下面是数据类:
public class MyData
{
public String Campionato { get; set; }
public DateTime Data { get; set; }
public String Home { get; set; }
public String Away { get; set; }
public int Hsft { get; set; }
public int Asft { get; set; }
public int Hsht { get; set; }
public int Hsht_2 { get; set; }
public float Hodd { get; set; }
public float Aodd { get; set; }
public float Unknown { get; set; }
}
而这里的代码来读取文件并加入数据:
var file1Data = File.ReadLines(@"File1.csv")
.Skip(1) // Skip header
.Select(line => line.Split(';'))
.Select(elements => new MyData
{
Campionato = elements[0],
Data = DateTime.ParseExact(elements[1], "MM'.'dd'.'yyyy", CultureInfo.InvariantCulture),
Home = elements[2],
Away = elements[3],
Hsft = Int32.Parse(elements[4]),
Asft = Int32.Parse(elements[5]),
Hsht = Int32.Parse(elements[6]),
Hsht_2 = Int32.Parse(elements[7])
});
var file2Data = File.ReadLines(@"File2.csv")
.Skip(1) // Skip header
.Select(line => line.Split(';'))
.Select(elements => new MyData
{
Data = DateTime.ParseExact(elements[0], "MM'.'dd'.'yyyy", CultureInfo.InvariantCulture),
Home = elements[1],
Away = elements[2],
Hodd = float.Parse(elements[3]),
Aodd = float.Parse(elements[4])
});
var joinedData = file1Data.Join(
file2Data,
// Key generation should be optimized. Maybe take a look at http://stackoverflow.com/q/263400/1838048
myData => myData.Data.GetHashCode() + myData.Home.GetHashCode() + myData.Away.GetHashCode(),
myData => myData.Data.GetHashCode() + myData.Home.GetHashCode() + myData.Away.GetHashCode(),
(file1, file2) => new MyData
{
Campionato = file1.Campionato,
Data = file1.Data,
Home = file1.Home,
Away = file1.Away,
Hsft = file1.Hsft,
Asft = file1.Asft,
Hsht = file1.Hsht,
Hsht_2 = file1.Hsht_2,
Hodd = file2.Hodd,
Aodd = file2.Aodd,
Unknown = file2.Unknown
});
myDataGridView.DataSource = joinedData.ToList();
有很多硬编码的东西,没有一种错误检查在那里。所以对自己有很大的改进,但它应该给你一个很好的起点。
读取文本文件或将结果绑定到gridview有问题吗?向我们展示你到目前为止所尝试过的。 – Bgl86
创建一个具有所有必需属性(来自两个文件)的数据类;将这两个文件读取到内存中(可能是手动编写为'List'或使用例如Lumenworks CSV阅读器)。然后通过使用LINQ和创建数据类实例来加入这两个列表。将这些实例放入用作数据网格视图的数据源的列表中。如果这些步骤中的任何一个遇到麻烦,请提出更具体的问题。 –
Oliver
@ Bgl86我知道如何阅读文本文件,但我不知道如何将它们放入数据表中,加入它们并显示在datagridview中。谢谢:) –