我想追加6个具有相同布局和标题的CSV。在删除标题时将相同的CSV添加到一起
我已经能够通过将6个csvs中的每一个加载到它们自己的单独数据表中并删除每个数据表的第一行来完成此操作。最后我使用ImportRow方法将它们附加在一起。
DataTable table1 = csvToDataTable(@"C:\Program Files\Normalization\Scan1.csv");
DataTable table2 = csvToDataTable(@"C:\Program Files\Normalization\Scan2.csv");
DataTable table3 = csvToDataTable(@"C:\Program Files\Normalization\Scan3.csv");
DataTable table4 = csvToDataTable(@"C:\Program Files\Normalization\Scan4.csv");
DataTable table5 = csvToDataTable(@"C:\Program Files\Normalization\Scan5.csv");
DataTable table6 = csvToDataTable(@"C:\Program Files\Normalization\Scan6.csv");
foreach (DataRow dr in table2.Rows)
{
table1.ImportRow(dr);
}
foreach (DataRow dr in table3.Rows)
{
table1.ImportRow(dr);
}
foreach (DataRow dr in table4.Rows)
{
table1.ImportRow(dr);
}
foreach (DataRow dr in table5.Rows)
{
table1.ImportRow(dr);
}
foreach (DataRow dr in table6.Rows)
{
table1.ImportRow(dr);
}
CreateCSVFile(table1, @"C:\Program Files\Normalization\RackMap.csv");
我觉得这是笨重的,不是很可扩展的,但我有麻烦处理的头时,我试图在CSV级别追加。有什么建议么?
TIA
我已经有一个方法,当将每个csvs导入到数据表时删除第一行。我正在寻找一种解决方案,在CSV级别将这些csvs合并在一起(同时删除标头),然后将最终的csv加载到数据表中。如果我不需要,我宁愿不使用创建6个数据表的内存。 – kmc5117
@kmc我已经添加了一个例子,测试了三个12MB的csv文件。 – JYelton
好主意分解到文本文件级别。我正在推翻它。这10行代替了我写过的100行。非常感谢你。 – kmc5117