Как предложил JYelton, вам определенно нужно динамически находить все файлы * .csv в вашей папке и выполнять их итерацию (вместо жесткого кодирования 6 имен файлов). С этого момента вы можете рассмотреть такой подход:
- Создайте доступный для записи файловый поток для вашего файла-получателя.
- Для каждого файла .CSV откройте для него читаемый поток файлов.
- Сбросьте строку заголовка каждого файла, прочитав до первого включенного CRLF и включив его, и выбросив эти данные.
- Считайте все оставшиеся данные в поток для записи.
- Повторите # 2-4 для каждого файла CSV.
- Закройте доступный для записи поток, чтобы сохранить завершенный файл.
Этот подход будет учитывать произвольное количество файлов CSV и, вероятно, будет более эффективным с точки зрения производительности, чем работа с DataTables.
Примечание: для краткости и ясности я пропустил некоторые крайние случаи обработки, которые вам понадобятся. Например, как обрабатывать пустой CSV-файл, или файл, который содержит строку заголовка и ничего больше, или файл, у которого нет завершающего CRLF после его последней строки. Разве детали реализации и обработки крайних случаев не интересны? ;)