static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("No arguments were passed."); Console.ReadLine(); // Keep the console open. return; } var filePath = args[0]; string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(@"D:\Source Code\Repos\GenerateLADataTable\119091822000867_Kusto query tab.csv"); // Get the Header (Columns) var columns = new List <DataTableColumn> (); // Read first libe (Header or column names) var line1 = file.ReadLine(); // Comma separated var arrNames = line1.Split(','); foreach (var colName in arrNames) { var col = new DataTableColumn(); col.ColumnName = colName; columns.Add(col); } // get the rows while ((line = file.ReadLine()) != null) { var values = line.Split(','); var index = 0; foreach (var value in values) { columns[index++].Values.Add(value); } } file.Close(); var datatable = @"let data = datatable (" + appendColumns(columns) + ") ["; datatable += Environment.NewLine; datatable += appendRows(columns); datatable += Environment.NewLine; datatable += "];"; Console.WriteLine(datatable); // TODO: Save as .kql for Kusto explorer var logPath = ".\\Query.kql"; var logFile = System.IO.File.Create(logPath); var logWriter = new System.IO.StreamWriter(logFile); logWriter.WriteLine(datatable); logWriter.Dispose(); TextCopy.Clipboard.SetText(datatable); }
static void Main(string[] args) { // TODO:Read CSV int counter = 0; string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(@"D:\Source Code\Repos\GenerateLADataTable\119091822000867_Kusto query tab.csv"); // Get the Header (Columns) var columns = new List <DataTableColumn> (); // Read first libe (Header or column names) var line1 = file.ReadLine(); // Comma separated var arrNames = line1.Split(','); foreach (var colName in arrNames) { var col = new DataTableColumn(); col.ColumnName = colName; columns.Add(col); } // get the rows while ((line = file.ReadLine()) != null) { var values = line.Split(','); var index = 0; foreach (var value in values) { columns[index++].Values.Add(value); } } file.Close(); // TODO: inspect Data type // TODO: Generate the Datatabe /* * Template * datatable (Date:datetime, Event:string) * [datetime(1910-06-11), "Born", * datetime(1930-01-01), "Enters Ecole Navale", * datetime(1953-01-01), "Published first book", * datetime(1997-06-25), "Died"] | where strlen(Event) > 4 */ var datatable = @"let data = datatable (" + appendColumns(columns) + ") ["; datatable += Environment.NewLine; datatable += appendRows(columns); datatable += Environment.NewLine; datatable += "];"; Console.WriteLine(datatable); }
static void Main(string[] args) { // TODO: Get file name as param int counter = 0; string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(@"D:\Source Code\Repos\GenerateLADataTable\119091822000867_Kusto query tab.csv"); // Get the Header (Columns) var columns = new List <DataTableColumn> (); // Read first libe (Header or column names) var line1 = file.ReadLine(); // Comma separated var arrNames = line1.Split(','); foreach (var colName in arrNames) { var col = new DataTableColumn(); col.ColumnName = colName; columns.Add(col); } // get the rows while ((line = file.ReadLine()) != null) { var values = line.Split(','); var index = 0; foreach (var value in values) { columns[index++].Values.Add(value); } } file.Close(); var datatable = @"let data = datatable (" + appendColumns(columns) + ") ["; datatable += Environment.NewLine; datatable += appendRows(columns); datatable += Environment.NewLine; datatable += "];"; Console.WriteLine(datatable); // TODO: Save as .kql for Kusto explorer TextCopy.Clipboard.SetText(datatable); }
static void Main (string[] args) { if (args.Length == 0) { Console.WriteLine ("No arguments were passed."); Console.ReadLine (); // Keep the console open. return; } var filePath = args[0]; Console.WriteLine ($"Processing {filePath}."); if (filePath.ToLower ().EndsWith (".xlsx")) { var package = new ExcelPackage (new System.IO.FileInfo (filePath)); filePath = filePath.Replace (".xlsx", ".csv"); package.ConvertToCsv (filePath); package.Dispose (); } string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader (filePath); // Get the Header (Columns) var columns = new List<DataTableColumn> (); // Read first libe (Header or column names) var line1 = file.ReadLine (); // Comma separated var arrNames = line1.Split (','); foreach (var colName in arrNames) { var col = new DataTableColumn (); col.ColumnName = colName; columns.Add (col); } // get the rows while ((line = file.ReadLine ()) != null) { var values = line.Split (','); var index = 0; foreach (var value in values) { columns[index++].Values.Add (value); } } file.Close (); var dataTableName = "Data"; var has = columns.FirstOrDefault (col => col.ColumnName == "Type"); if (has != null) { dataTableName = has.Values[0]; } var datatable = $"let {dataTableName} = datatable (" + appendColumns (columns) + ") ["; datatable += Environment.NewLine; datatable += appendRows (columns); datatable += Environment.NewLine; datatable += "];"; datatable += Environment.NewLine; datatable += dataTableName; Console.WriteLine (datatable); // TODO: Save as .kql for Kusto explorer var logPath = filePath.Replace (".csv", ".kql"); var logFile = System.IO.File.Create (logPath); var logWriter = new System.IO.StreamWriter (logFile); logWriter.WriteLine (datatable); logWriter.Dispose (); TextCopy.Clipboard.SetText (datatable); }
static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("No arguments were passed."); Console.ReadLine(); // Keep the console open. return; } var filePath = args[0]; Console.WriteLine($"Processing {filePath}."); if (filePath.ToLower().EndsWith(".xlsx")) { var package = new ExcelPackage(new System.IO.FileInfo(filePath)); var worksheet = package.Workbook.Worksheets[1]; var maxColumnNumber = worksheet.Dimension.End.Column; var currentRow = new List <string> (maxColumnNumber); var totalRowCount = worksheet.Dimension.End.Row; var currentRowNum = 1; var memory = new MemoryStream(); using (var writer = new StreamWriter(memory, Encoding.ASCII)) { while (currentRowNum <= totalRowCount) { BuildRow(worksheet, currentRow, currentRowNum, maxColumnNumber); WriteRecordToFile(currentRow, writer, currentRowNum, totalRowCount); currentRow.Clear(); currentRowNum++; } } return(memory.ToArray()); filePath = filePath.Replace(".xlsx", ".csv"); _package.SaveAs(new System.IO.FileInfo(filePath)); _package.Dispose(); } string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(filePath); // Get the Header (Columns) var columns = new List <DataTableColumn> (); // Read first libe (Header or column names) var line1 = file.ReadLine(); // Comma separated var arrNames = line1.Split(','); foreach (var colName in arrNames) { var col = new DataTableColumn(); col.ColumnName = colName; columns.Add(col); } // get the rows while ((line = file.ReadLine()) != null) { var values = line.Split(','); var index = 0; foreach (var value in values) { columns[index++].Values.Add(value); } } file.Close(); var datatable = @"let data = datatable (" + appendColumns(columns) + ") ["; datatable += Environment.NewLine; datatable += appendRows(columns); datatable += Environment.NewLine; datatable += "];"; Console.WriteLine(datatable); // TODO: Save as .kql for Kusto explorer var logPath = ".\\Query.kql"; var logFile = System.IO.File.Create(logPath); var logWriter = new System.IO.StreamWriter(logFile); logWriter.WriteLine(datatable); logWriter.Dispose(); TextCopy.Clipboard.SetText(datatable); }
static void Main(string[] args) { if (args.Length == 0) { Console.WriteLine("No arguments were passed."); Console.ReadLine(); // Keep the console open. return; } var filePath = args[0]; Console.WriteLine($"Processing {filePath}."); if (filePath.ToLower().EndsWith(".xlsx")) { using (ExcelEngine excelEngine = new ExcelEngine()) { IApplication application = excelEngine.Excel; //Set default version for application. application.DefaultVersion = ExcelVersion.Excel2016; IWorkbook workbook = application.Workbooks.Open(filePath); filePath = filePath.Replace(".xlsx", ".csv") workbook.SaveAs("Sample.csv", ","); } } string line; // Read the file and display it line by line. System.IO.StreamReader file = new System.IO.StreamReader(filePath); // Get the Header (Columns) var columns = new List <DataTableColumn> (); // Read first libe (Header or column names) var line1 = file.ReadLine(); // Comma separated var arrNames = line1.Split(','); foreach (var colName in arrNames) { var col = new DataTableColumn(); col.ColumnName = colName; columns.Add(col); } // get the rows while ((line = file.ReadLine()) != null) { var values = line.Split(','); var index = 0; foreach (var value in values) { columns[index++].Values.Add(value); } } file.Close(); var datatable = @"let data = datatable (" + appendColumns(columns) + ") ["; datatable += Environment.NewLine; datatable += appendRows(columns); datatable += Environment.NewLine; datatable += "];"; Console.WriteLine(datatable); // TODO: Save as .kql for Kusto explorer var logPath = ".\\Query.kql"; var logFile = System.IO.File.Create(logPath); var logWriter = new System.IO.StreamWriter(logFile); logWriter.WriteLine(datatable); logWriter.Dispose(); TextCopy.Clipboard.SetText(datatable); }