C# - Tìm kiếm dữ liệu giống nhau giữa 2 files

Nha_Phuong

Mr & Ms Pac-Man
Tham gia ngày
21/2/07
Bài viết
151
Reaction score
0
Chào các bạn,

Mong các bạn cố vấn giùm mình về lập trình C Sharp.
Mình hiện đang có 2 files:
1_ Master file - chứa toàn bộ thông tin của khách hàng
2_ Weekly file - chứa những khách hàng trong tuần

Nếu những khách hàng trong tuần đã tồn tại trong Master thì sẽ lưu vào 1 file khác, còn không thì lưu vào danh bạ mới. Và sau đây là dòng lệnh mình đang làm nhưng có chút rắc rối.

Ví dụ trong file mình có:
File 1 - Master:
kh1 Nguyen Van A
kh2 Nguyen Thi B
kh3 Tran Van A
kh4 Tran Van B

File 2 - Weekly:
kh1 Nguyen Van A
kh2 Nguyen Tran
kh3 Nguyen Nguyen
kh4 Tran Thi D

Thì nên output ra:
File 3 - Exist:
kh1 Nguyen Van A

File 4 - Unknown:
kh2 Nguyen Tran
kh3 Nguyen Nguyen
kh4 Tran Thi D

Và sau đây là code của mình:

string file1 = @"C:\Users\Weekly.csv";
string file2 = @"C:\Users\Master.csv";

var reader = new StreamReader(File.OpenRead(file1));

// File 1 Reader
List<Customer> WeeklyList= new List<Customer>();
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
var values = line.Split(',');
Customer c = new Customer() { FirstName = values[0], LastName = values[1] };
customerList.Add(c);
}

//Console.ReadLine();

// File 2 Reader

// Read File variable
var readerFile2 = new StreamReader(File.OpenRead(file2));

List<Customer> MasterList = new List<Customer>();
while (!readerFile2.EndOfStream)
{
var line2 = readerFile2.ReadLine();
var values = line2.Split(',');
Customer cc = new Customer() { FirstName = values[0], LastName = values[1]};
MasterList.Add(cc);
}

// Export file
StringBuilder export = new StringBuilder();
StringBuilder sb = new StringBuilder();

string file3 = @"C:\Users\Exist.csv";
string file4 = @"C:\Users\Unknown.csv";

foreach (var testFile2 in Master)
{
// Find values between Master and Weekly
foreach (var testFile1 in Weekly)
{
if (testFile1.FirstName + testFile1.LastName == testFile2.FirstName + testFile2.LastName)
{
export.AppendLine();
File.WriteAllText(file3, export.ToString());
}
else
{
sb.AppendLine();
File.WriteAllText(file4, sb.ToString());
}
}
}

Mong các bạn cố vấn cho mình, thanks nhiều.
 
Mình đã giải quyết được vấn đề ở trên nhưng giờ muốn nâng cấp lập trình của mình.
Bằng cách lưu trữ dữ liệu vào MYSQL rồi lấy dữ liệu ở đó.
Mình muốn hỏi các bước cơ bản để có thể lưu trữ và cũng như đề xuất dữ liệu ở SQL qua C#.
Mong có bạn giúp đỡ, thanks.
 
Hallo Admin, mình đã giải quyết được hết vấn đề rồi, xin delete topic này giùm, thanks.
 
Back
Top