例如,我已经从txt文件获得了数据
Trans ID;Transaction Date;Cashier Name
00001;1 January;Ricky
00001;1 January;Ricky
00002;2 January;Rico
问题对于这种文件是新奇的,并且不知道如何读取并导出到具有单独Trans ID的新txt文件中
因此,在此数据中,将有2个文件,第一个文件用于00001 Trans ID的列表,第二个文件用于00002文件的列表(或更多个trans ID)
我试图读取文件
string filename = ("C:\\Users\\Documents\\My Received Files\\txn_success_daily.txt");
string[] lines = File.ReadAllLines(filename);
foreach (string line in lines)
{
string[] col = line.Split(new char[] { ';' });
}
但是我不知道它是如何工作的,因为它不同于excel(基本上我创建应用程序来生成excel文件)
我需要将此数据分成2个txt文件,因为它包含不同的交易ID。每个不同的交易ID都会创建一个新的txt文件,并将交易放入其中(包括标题)。
谢谢
答案 0 :(得分:2)
// read lines
var lines = File.ReadAllLines(@"D:\Tran.txt");
// group by first value
var groups = lines.Skip(1)
.Select(x => x.Split(';'))
.GroupBy(x => x[0]);
// iterate groups write the joined lines back to a new file with the key name
foreach (var group in groups)
File.WriteAllLines($@"D:\Tran{group.Key}.txt", group.Select(x => string.Join(";", x)));
加胡椒粉和盐调味。
请注意,最好使用专用的CSV解析器,因为这样很容易破坏