Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.IO;
- using System.Text.RegularExpressions;
- namespace splitDemo
- {
- class Program
- {
- static void Main(string[] args)
- {
- var stopWatch = new Stopwatch();
- stopWatch.Start();
- var mainFilePath = "C:/Users/ddelev/Downloads/weekly_snapshot_2608.csv";
- var partsDirectory = "C:/Users/ddelev/Downloads/parts";
- var filesCount = 10;
- var lines = new List<string>();
- using (StreamReader sr = new StreamReader(mainFilePath))
- {
- string line;
- while ((line = sr.ReadLine()) != null)
- {
- lines.Add(line);
- }
- }
- var fileCounter = 1;
- var linesPerFile = lines.Count / filesCount;
- var currEndLine = linesPerFile;
- var stream = new StreamWriter($"{partsDirectory}/part{fileCounter}.csv");
- for (int row = 0; row < lines.Count; row++)
- {
- //stream.WriteLine(Regex.Replace(lines[row], @"[\n\r\t]", ""));
- stream.WriteLine(lines[row]);
- if (row == currEndLine - 1 && fileCounter < 10)
- {
- Console.WriteLine(currEndLine);
- fileCounter++;
- if (fileCounter == 10)
- {
- currEndLine = lines.Count;
- }
- else
- {
- currEndLine += linesPerFile;
- }
- stream.Close();
- stream = new StreamWriter($"{partsDirectory}/part{fileCounter}.csv");
- }
- }
- stream.Close();
- stopWatch.Stop();
- Console.WriteLine(stopWatch.Elapsed);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement