void SaveData() { if (_config == null) { ShowNotification(new GUIContent("配置文件为空!!!")); return; } string strFilePath = Application.dataPath + "/Resources/GameConfig/" + _config.name + ".csv"; FileStream fileStream = File.OpenWrite(strFilePath); CsvFileWriter write = new CsvFileWriter(fileStream, System.Text.Encoding.Default); // 先把前三行的内容搞定 SaveData_Line(rowType, write); SaveData_Line(rowParamName, write); SaveData_Line(rowParamCHName, write); // 具体数据 foreach (var item in _dictData) { SaveData_Line(item.Value, write); } write.Close(); Debug.Log("保存完成!!!!!!!!!!!"); }
public void SaveTotalData(string filename) { if (gameObject.GetComponent <GameUpdater>().StageCount != 0) { // Write sample data to CSV file CsvFileWriter writer = new CsvFileWriter(getPath(filename)); CsvRow row = new CsvRow(); row.Add(string.Format("Stage")); row.Add(string.Format("SignName")); row.Add(string.Format("Stage Total")); row.Add(string.Format("Correct Total")); row.Add(string.Format("Missing Total")); writer.WriteRow(row); for (int i = 0; i < ExperimentList.Count; ++i) { CsvRow nRow = new CsvRow(); nRow.Add(string.Format(gameObject.GetComponent <GameUpdater>().StageCount.ToString())); nRow.Add(string.Format(ExperimentList[i].signName)); nRow.Add(string.Format(ExperimentList[i].sign_total.ToString())); nRow.Add(string.Format(ExperimentList[i].sign_correct_total.ToString())); nRow.Add(string.Format(ExperimentList[i].sign_missing_total.ToString())); writer.WriteRow(nRow); } writer.Close(); } }
public void Generate() { foreach (IAdj adj in _adjs) { SortedList<DateTime, AdjRateDatum> adjRateData = CreateAdjRateData(adj); //String dir = Directory.GetCurrentDirectory(); //String path = dir + "\\" + _excelAdjResultFileName; CsvFileWriter writer = new CsvFileWriter(String.Format("{0}_result.csv", adj.ToString())); WriteHeader(writer); foreach (KeyValuePair<DateTime, AdjRateDatum> datum in adjRateData) { CsvRow row = new CsvRow(); row.Add(datum.Key.ToString("yyyy-MM-dd")); row.Add(datum.Value.KospiRate.ToString("n5")); row.Add(datum.Value.KtbRate.ToString("n5")); row.Add(datum.Value.DollarRate.ToString("n5")); writer.WriteRow(row); } writer.Close(); } }
private async Task ExportToFile(IEnumerable <NytCountyDay> CountyDayInfo) { StorageFile csvFile = await ExportFolder?.CreateFileAsync(CountyDayInfo.FirstOrDefault().DateString + "-county-info.csv", Windows.Storage.CreationCollisionOption.ReplaceExisting); using (CsvFileWriter dataWriter = new CsvFileWriter(await csvFile.OpenStreamForWriteAsync())) { CsvRow headerRow = new CsvRow(); headerRow.Add("fips"); headerRow.Add("cases"); headerRow.Add("deaths"); headerRow.Add("cases7dayavg"); headerRow.Add("deaths7dayavg"); headerRow.Add("casesper100K"); headerRow.Add("deathsper100K"); dataWriter.WriteRow(headerRow); foreach (var county in CountyDayInfo) { CsvRow nextRow = new CsvRow(); nextRow.Add(county.Fips); nextRow.Add(county.Cases.ToString()); nextRow.Add(county.Deaths.ToString()); nextRow.Add(county.Cases7Avg.ToString()); nextRow.Add(county.Deaths7Avg.ToString()); nextRow.Add(county.Cases7AvgPer100K.ToString()); nextRow.Add(county.Deaths7AvgPer100K.ToString()); dataWriter.WriteRow(nextRow); } dataWriter.Close(); } }
public static void WriteToCsvFile(this DataTable dataTable, string filePath) { CsvFileWriter writer = new CsvFileWriter(filePath); StringBuilder fileContent = new StringBuilder(); CsvRow row = new CsvRow(); foreach (var col in dataTable.Columns) row.Add(col.ToString()); writer.WriteRow(row); foreach (DataRow dr in dataTable.Rows) { row = new CsvRow(); foreach (var column in dr.ItemArray) { row.Add(column.ToString()); } writer.WriteRow(row); } writer.Close(); dataTable = null; System.Console.WriteLine(string.Format("Done writing to {0}.", filePath)); }
public void CloseCleansUp() { var csvWriterMock = new Mock <ICsvWriter>(); csvWriterMock.Setup(x => x.Dispose()); var sut = new CsvFileWriter(csvWriterMock.Object); sut.Close(); csvWriterMock.Verify(x => x.Dispose(), Times.Once); }
public void WriteToFile(String path) { CsvFileWriter writer = new CsvFileWriter(path); try { WriteHeader(writer); WriteBody(writer); } catch (System.Exception ex) { logger.Error(ex.ToString()); } writer.Close(); }
static int Main(string[] args) { var options = new Options(); if (!CommandLine.Parser.Default.ParseArguments(args, options)) { return(4); } if (options.Args.Count != 3) { Console.Write(options.GetUsage()); return(5); } String sinterconf = options.Args[0]; String infilename = options.Args[1]; String outfilename = options.Args[2]; String workingDir = Path.GetDirectoryName(sinterconf); String filenameBase = Path.GetFileNameWithoutExtension(sinterconf); String performanceFile = Path.Combine(workingDir, filenameBase + "._time.txt"); JArray inputsArray = parseCSVInputs(infilename); JArray outputsArray = new JArray(); List <sinter_AppError> runStatuses = null; List <List <object> > ts_byRunNumber = null; SinterProcess sp = new SinterProcess(); sp.runSeries(sinterconf, null, inputsArray, options.Relaunch, options.Timelimit, ref outputsArray, ref runStatuses, ref ts_byRunNumber); writeOutCsv(outfilename, outputsArray); CsvFileWriter csvWriter = new CsvFileWriter(performanceFile); string headerString = "Open Time, Sinter Sent Time, Send Time, Run Time, Receive Time, Sinter Recieve Time"; csvWriter.WriteLine(headerString); for (int ii = 0; ii < inputsArray.Count; ++ii) { csvWriter.WriteRow((List <object>)ts_byRunNumber[ii]); } csvWriter.Close(); Console.WriteLine("FINISHED. PRESS ENTER KEY TO EXIT PROGRAM."); Console.ReadLine(); return(0); }
public void WriteTo(String fileOutPath, PeriodicMarketDataCollection spot, PeriodicMarketDataCollection future, TradingDirection spotDirection) { EventPointsFinder target = new EventPointsFinder(); List<EventPoint> eventPoints = target.GetEventPoints(spot, future, spotDirection); CsvFileWriter writer = new CsvFileWriter(fileOutPath); WriteHeader(writer); WriteBody(writer, eventPoints); logger.Info("Write {0} complete...", fileOutPath); writer.Close(); }
private async void SaveCsvBasingOnInputCsv(StorageFile csvFile, InputCsvData inputCsvData) { using (CsvFileWriter csvWriter = new CsvFileWriter(await csvFile.OpenStreamForWriteAsync())) { List <CsvRow> copiedRows = inputCsvData.GetCopiedDataRows(); SetCoordinate(copiedRows); foreach (var row in copiedRows) { csvWriter.WriteRow(row); } csvWriter.Close(); } }
public void ToCsv() { const String kHeader = "CreditPolicyWithMA"; String fileName = String.Format("{0}_{1}.csv", kHeader, DateTime.Now.ToString("yyyy_MM_dd HHmmssfff")); CsvFileWriter writer = new CsvFileWriter(fileName); WriteHeader(writer); foreach (LogRow log in _logs) { CsvRow row = new CsvRow(); row.Add(log.CurDate.ToString("yyyy-MM-dd")); row.Add(log.KospiWeight.ToString()); writer.WriteRow(row); } writer.Close(); }
private async void SaveCsv(StorageFile csvFile) { // For overwrite file await FileIO.WriteBytesAsync(csvFile, new byte[0]); using (CsvFileWriter csvWriter = new CsvFileWriter(await csvFile.OpenStreamForWriteAsync())) { CsvRow firstRow = new CsvRow { "Model" }; csvWriter.WriteRow(firstRow); CsvRow secondRow = new CsvRow { "Parameters", "exist", "LeftTop_x", "LeftTop_y", "RightBottom_x", "RightBottom_y", "PNG", "Z_index" }; csvWriter.WriteRow(secondRow); for (int i = 0; i < gIndexingFrameModels.Count; i++) { CsvRow row = new CsvRow { "LED " + i.ToString(), 1.ToString(), // exist gIndexingFrameModels[i].Left.ToString(), gIndexingFrameModels[i].Top.ToString(), (gIndexingFrameModels[i].Right + 1).ToString(), (gIndexingFrameModels[i].Bottom + 1).ToString(), "", // PNG 1.ToString(), // Z index }; csvWriter.WriteRow(row); } csvWriter.Close(); } }
/// <summary> /// Muudame kasutaja saldot. Vähendamisel anname summa miinusega. /// Kui pole piisavalt raha kontol saame tulemuseks -1. /// </summary> /// <param name="kasutaja"></param> /// <param name="SaldoMuutus"></param> /// <returns></returns> public float KasutajaSaldo(string kasutaja, float SaldoMuutus) { float j22k = KasutajaSaldo(kasutaja); if (SaldoMuutus < 0 && Math.Abs(SaldoMuutus) > j22k) { return(-1); } j22k += SaldoMuutus; // Kõigepealt loeme CSV faili sisse ja muudame soovitud rea. using (CsvFileReader lugeja = new CsvFileReader(failiNimi)) { CsvRow rida = new CsvRow(); int i = 0; while (lugeja.ReadRow(rida)) { if (rida[0] == kasutaja) { rida[3] = j22k.ToString().Replace(',', '.'); } using (CsvFileWriter writer = new CsvFileWriter(failiNimi + ".txt", i != 0)) { writer.WriteRow(rida); writer.Close(); } i++; } lugeja.Close(); } // Nimetame loodud uue faili ümber vanaks failiks. if (File.Exists(failiNimi)) { File.Delete(failiNimi); } File.Move(failiNimi + ".txt", failiNimi); return(j22k); }
//For test speed private int runAlgorithms() { controller.mAlgorithm = Algorithm.MidPoint_Line; CsvFileReader reader = new CsvFileReader("Testcase_Line.csv"); CsvFileWriter writer = new CsvFileWriter("Midpoint_Line_Runtime.csv"); CsvRow row = new CsvRow(); Random rnd = new Random(); int count = 0; while (reader.ReadRow(row)) { if (row.Count == 4) { int x1 = Int32.Parse(row[0]); int y1 = Int32.Parse(row[1]); int x2 = Int32.Parse(row[2]); int y2 = Int32.Parse(row[3]); controller.mShape = new Line(new Point(x1, y1), new Point(x2, y2)); Color color = Color.FromArgb(rnd.Next(256), rnd.Next(256), rnd.Next(256)); try { Int64 runtime = this.DrawShape(); row.Add(String.Format(runtime.ToString())); writer.WriteRow(row); count++; } catch (Exception e) { Debug.WriteLine("failed at " + count.ToString()); } } else { break; } } reader.Close(); writer.Close(); return(count); }
static void writeOutCsv(string outfilename, JArray outputsArray) { CsvFileReader inStream = new CsvFileReader(outfilename); List <object> headers = new List <object>(); inStream.ReadRow(headers); inStream.Close(); CsvFileWriter outStream = new CsvFileWriter(outfilename); outStream.WriteRow(headers); foreach (JObject run in outputsArray) { JObject thisOutputs = (JObject)run["outputs"]; List <object> csvOutputs = new List <object>(); for (int ii = 0; ii < headers.Count; ++ii) { csvOutputs.Add(thisOutputs[headers[ii]]["value"]); } outStream.WriteRow(csvOutputs); } outStream.Close(); }
/// <summary> /// Loome uue kasutaja. /// Kontrllime, kas sellise nimega kasutajat juba olemas ei ole. /// Kui on anname vastseks FALSE. Kui õnnestus luua, on vastuseks TRUE. /// </summary> /// <param name="Kasutaja">Kasutaja nimi</param> /// <param name="Pin">Kasutaja PIN kood</param> /// <returns></returns> public bool UusKasutaja(string Kasutaja, string Pin) { string kontoNr = LeiaVabaKontoNr(); if (!KasutajaOlemas(Kasutaja)) { // lisame uue kasutaja, kui seda ei eksisteeri using (CsvFileWriter writer = new CsvFileWriter(failiNimi, true)) { CsvRow row = new CsvRow(); // loome uue rea row.Add(Kasutaja); // esimesena lisame ritta kasutaja nime row.Add(Pin); // teiseks pin koodi row.Add(kontoNr); // kolmandaks leiame kasutajale konto numbri row.Add("0"); // Anname kasutajale 0 saldo writer.WriteRow(row); // kirjutame rea andmefaili writer.Close(); } return(true); } return(false); }
public void SaveStageData(string read_file, string new_fileName) { if (gameObject.GetComponent <GameUpdater>().StageCount != 0) { //Write sample data to CSV file CsvFileWriter writer = new CsvFileWriter(getPath(new_fileName)); if (File.Exists(getPath(read_file)) == true) { ReadData(ref writer, getPath(read_file)); File.Delete(getPath(read_file)); } else { CsvRow row = new CsvRow(); row.Add(string.Format("Stage")); row.Add(string.Format("SignName")); row.Add(string.Format("Stage Total")); row.Add(string.Format("Stage Correct Total")); row.Add(string.Format("Stage Missing Total")); writer.WriteRow(row); } for (int i = 0; i < ExperimentList.Count; ++i) { CsvRow nRow = new CsvRow(); nRow.Add(string.Format(gameObject.GetComponent <GameUpdater>().StageCount.ToString())); nRow.Add(string.Format(ExperimentList[i].signName)); nRow.Add(string.Format(ExperimentList[i].key.ToString())); nRow.Add(string.Format(ExperimentList[i].correct_count.ToString())); nRow.Add(string.Format(ExperimentList[i].missing_count.ToString())); writer.WriteRow(nRow); } writer.Close(); } }
public void WriteHighScore() { CsvFileWriter writer = new CsvFileWriter("000001.csv"); CsvRow row = new CsvRow(); /* * * Method for writing the high score from the game to a single value * in a csv file that is empty so that no other high scores are overwritten. * Enables keeping a temp file, a building file, and one to send to server * (if gets to point of multi-threading and sending requests with multiple clients) * * Add the players name who belongs to this instantiation of PlayerObject * To the first row, and the points score in the second row, Then write the Row * to the CsvFileWriter IO and dispose and close the writer to prevent leaks. */ row.Add(playerName); row.Add(string.Format("{0}", points)); Console.Write(string.Format("You scored :{0}", points)); writer.WriteRow(row); writer.Dispose(); writer.Close(); }
void RemainLongFileOut() { CsvFileWriter writer = new CsvFileWriter(_todayLongRemainFileName_Output); WriteRemainLongFileOutHeader(writer); foreach (KtbSpotPosition longPos in this.RemainLongs) { WriteRemainLongBody(longPos, writer); } writer.Flush(); writer.Close(); }
void LongFileOut() { CsvFileWriter writer = new CsvFileWriter(_curLongFileName_Output); foreach (KtbSpotPosition longPos in this.Longs) { WriteLongBody(longPos, writer); } writer.Flush(); writer.Close(); }
void DoneFileOut() { { CsvFileWriter writer = new CsvFileWriter(_todayDoneFileName_Output); WriteDoneFileOutHeader(writer); foreach (KtbSpotDonePosition done in this.Dones) { WriteDoneBody(done, writer); } writer.Flush(); writer.Close(); } { CsvFileWriter writer = new CsvFileWriter(_curDoneFileName_Output); foreach (KtbSpotDonePosition done in this.Dones) { WriteDoneBody(done, writer); } writer.Flush(); writer.Close(); } }
private void SaveCoordinates(string filename) { if (!Directory.Exists(Path.GetDirectoryName(filename))) Directory.CreateDirectory(Path.GetDirectoryName(filename)); //filename = string.Format(filename + Path.DirectorySeparatorChar + // string.Format("sample{0}.csv", DateTime.Now.ToBinary())); CsvFileWriter writer = new CsvFileWriter(filename); for (int i = 0; i < winners.Count; i++) { CsvRow row = new CsvRow(); SOM.Neuron n = winners[i]; row.Add(n.X); row.Add(n.Y); if (labels[i].Contains("A")) { row.Add(1); } else if (labels[i].Contains("B")) { row.Add(2); } else if (labels[i].Contains("C")) { row.Add(3); } else if (labels[i].Contains("Neutral")) { row.Add(4); } writer.WriteRow(row); writer.Flush(); } writer.Close(); }
public void FillHighScores() { //Row to read values from Other files(dataset, new high score in 000001.csv) CsvRow readerRow; //Row to insert values into CsvFileWriter below for HighScoreFile good copy CsvRow row = new CsvRow(); //Reader Object for New High Score (or old if run early) CsvFileReader reader = new CsvFileReader("HighScoreFile.csv"); //Array of Player Objects to fill with readerRow's values read List <PlayerObject> pastPlayers = new List <PlayerObject> (); //Loop through the reader till the end while (!reader.EndOfStream) { //if (reader.BaseStream.ReadByte() == -1) // break; //Build a new player Object to fill PlayerObject obj = new PlayerObject(); //Instatiate the CsvRow readerRow = new CsvRow(); //Build a string array to hold the CsvRow values string[] list = new string[2]; //Read the rows and Copy the data to the array reader.ReadRow(readerRow); readerRow.CopyTo(list); //Check for "Player" as the first column and skip it if (list [0].ToString().Contains("Player")) { continue; } //Set player names by formatting the string, and parsing to a float obj.setPlayerName(string.Format("{0}", list[0].ToString())); obj.setPoints(float.Parse(list [1])); //Add the player Object to the array pastPlayers.Add(obj); readerRow.Clear(); } //End of while loop reader.Dispose(); reader.Close(); //Reader to loop through Dataset for run just taken. Keeps the values safe. reader = new CsvFileReader("000001.csv"); while (!reader.EndOfStream) { PlayerObject obj = new PlayerObject(); readerRow = new CsvRow(); string[] list = new string[2]; //Read the rows and Copy the data to the array reader.ReadRow(readerRow); readerRow.CopyTo(list); //Set player names by formatting the string, and parsing to a float obj.setPlayerName(string.Format("{0}", list [0].ToString())); obj.setPoints(float.Parse(list [1])); //Add the player Object to the array pastPlayers.Add(obj); readerRow.Clear(); } reader.Dispose(); reader.Close(); //Reader to loop through Dataset given for assignment, which pulls the values //of the name of the commodity in the list, and the value of the commodity. //It has taken a shortened version, at the behest of Professor Stanley Pieda //when asked if I needed to keep the 100K+ file or revise it slightly. /*reader = new CsvFileReader ("000000.csv"); * * while(!reader.EndOfStream){ * * PlayerObject obj = new PlayerObject(); * readerRow = new CsvRow(); * string[] list = new string[6]; * * reader.ReadRow (readerRow); * readerRow.CopyTo(list); * obj.setPlayerName(string.Format("{0}", list [2].ToString ())); * obj.setPoints (float.Parse(list[5])); * * pastPlayers.Add(obj); * readerRow.Clear (); * } * * reader.Dispose (); * reader.Close (); */ //CsvFileWriter Object to write the high score objects to the csv file CsvFileWriter writer = new CsvFileWriter("HighScoreFile.csv"); //Adding the headers for Player and Score in the table row.Add(string.Format("Player")); row.Add(string.Format("Score")); //Writing it to the file, and clearing the row which was written writer.WriteRow(row); row.Clear(); pastPlayers.Sort((x, y) => y.points.CompareTo(x.points)); //Looping through the number of playerObjects in the List. Printing each one //To it's own row and clearing that row after it's written. for (int i = 0; i < pastPlayers.Count; i++) { row.Add(string.Format("{0}", pastPlayers[i].getPlayerName())); row.Add(string.Format("{0}", pastPlayers[i].getPoints())); writer.WriteRow(row); row.Clear(); } //Clean up the writers writer.Dispose(); writer.Close(); //pastPlayers.Sort (0,pastPlayers.Count,pastPlayers [0].points); }
void PbTLog_FileOut() { const string kSubFolder = @"pb_tlog\"; string fileName = String.Format("{0}_pb_tlog.csv", _today.ToString("yyyy_MM_dd")); string path = String.Format("{0}{1}{2}", kFolder, kSubFolder, fileName); CsvFileWriter writer = new CsvFileWriter(path); //TODO writer.Flush(); writer.Close(); }
/// <summary> /// Main /// </summary> /// <param name="args"></param> /// <returns></returns> static int Main(string[] args) { var options = new Options(); if (!CommandLine.Parser.Default.ParseArguments(args, options)) { return(4); } if (options.Args.Count != 3) { Console.Write(options.GetUsage()); return(5); } String sinterconf = options.Args[0]; String infilename = options.Args[1]; String outfilename = options.Args[2]; String workingDir = Path.GetDirectoryName(sinterconf); String filenameBase = Path.GetFileNameWithoutExtension(sinterconf); String performanceFile = Path.Combine(workingDir, filenameBase + "._time.txt"); StreamReader inStream = new StreamReader(infilename); //So, at the end of this we should have 1 or more input sets in the JArray inputsArray //The console version reads in json, the actual version just pulls the dictionary from the database string injson = ""; JToken inputJToken = null; JArray inputsArray = null; //Will be set if the input file is a set of runs JArray outputsArray = new JArray(); try { injson = inStream.ReadToEnd(); inputJToken = JToken.Parse(injson); if (inputJToken is JArray) { inputsArray = (JArray)inputJToken; } else if (inputJToken is JObject) { //Console Sinter is expecting a JArray in the same format as the Gateway takes. [ { Input = {...} }, { { Inputs = {...} } ] inputsArray = new JArray(); JObject singleInputDict = (JObject)inputJToken; JObject outterDict = new JObject(); outterDict.Add("inputs", singleInputDict); inputsArray.Add(outterDict); } } catch (Exception ex) { Console.WriteLine("Exception while running simulation: " + ex.Message); } finally { inStream.Close(); } List <sinter_AppError> runStatuses = null; List <List <object> > ts_byRunNumber = null; // // NOTE: Implementation Detail WORKING DIRECTORY MUST CONTAIN SinterConfig File // SinterProcess sp = new SinterProcess(); sp.runSeries(sinterconf, null, inputsArray, options.Relaunch, options.Timelimit, ref outputsArray, ref runStatuses, ref ts_byRunNumber); JsonSerializerSettings jss = new JsonSerializerSettings(); jss.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; string jsonOutput = JsonConvert.SerializeObject(outputsArray, Formatting.Indented, jss); StreamWriter outStream = new StreamWriter(outfilename); outStream.WriteLine(jsonOutput); outStream.Close(); CsvFileWriter csvWriter = new CsvFileWriter(performanceFile); string headerString = "Open Time, Sinter Sent Time, Send Time, Run Time, Receive Time, Sinter Recieve Time"; csvWriter.WriteLine(headerString); for (int ii = 0; ii < inputsArray.Count; ++ii) { csvWriter.WriteRow((List <object>)ts_byRunNumber[ii]); } csvWriter.Close(); Console.WriteLine("FINISHED. PRESS ENTER KEY TO EXIT PROGRAM."); Console.ReadLine(); return(0); }
public void ToCsv(String header) { String fileName = String.Format("Output\\{0}_{1}.csv", header, DateTime.Now.ToString("yyyy_MM_dd HHmmssfff")); logger.Info("ToCsv start. {0}", fileName); CsvFileWriter writer = new CsvFileWriter(fileName); WriteHeader(writer); DateTime curDate = InputData.StartDate; MarketData kospiFuture = this.MarketData.GetData(MarketDataSetKey.KospiFuture); MarketData ktbFuture = this.MarketData.GetData(MarketDataSetKey.KtbFuture); MarketData dollarFuture = this.MarketData.GetData(MarketDataSetKey.DollarFuture); while (curDate <= InputData.EndDate) { if (PnL.IsExistDate(curDate) && AssetLog.IsExistDate(curDate)) { CsvRow row = new CsvRow(); row.Add(curDate.ToString("yyyy-MM-dd")); AssetRateDatum datum = this.AssetLog.GetData(curDate); row.Add(String.Format("{0:n4}", datum.KospiRate)); row.Add(String.Format("{0:n4}", datum.KtbRate)); row.Add(String.Format("{0:n4}", datum.DollarRate)); row.Add(String.Format("{0:n2}", kospiFuture.GetData(curDate).OHLC.Close)); row.Add(String.Format("{0:n2}", ktbFuture.GetData(curDate).OHLC.Close)); row.Add(String.Format("{0:n2}", dollarFuture.GetData(curDate).OHLC.Close)); row.Add(String.Format("{0:n0}", PnL.GetDailyPnL(curDate).Item2)); row.Add(String.Format("{0:n0}", PnL.GetDailyPnL(curDate).Item3)); row.Add(String.Format("{0:n0}", PnL.GetDailyPnL(curDate).Item4)); row.Add(String.Format("{0:n0}", PnL.GetDailyPnL(curDate).Item1)); row.Add(String.Format("{0:n0}", PnL.GetCumPnL(curDate))); row.Add(String.Format("{0:n2}", kospiFuture.GetData(curDate).OHLC.Open)); row.Add(String.Format("{0:n2}", ktbFuture.GetData(curDate).OHLC.Open)); row.Add(String.Format("{0:n2}", dollarFuture.GetData(curDate).OHLC.Open)); AddAdjBody(row, curDate); writer.WriteRow(row); } curDate = curDate.AddDays(1); } writer.Close(); logger.Info("ToCsv complete. {0}", fileName); }
public void ToCsv(String path) { CsvFileWriter writer = new CsvFileWriter(path); List<String> headers = WriteHeader(writer); WriteBody(headers, writer); writer.Flush(); writer.Close(); }
public static void _ExecuteSelect(int timeout, IDbConnection conn, string cmdText, string tableName) { DateTime started = DateTime.Now; IDataReader reader = null; IDbCommand cmd = null; bool bConnOpenedHere = HelperFunctions.EnsureConnectionOpen(conn); IDbTransaction transaction = conn.BeginTransaction(); // DataSet retv = new DataSet(); try { cmd = conn.CreateCommand(); cmd.CommandTimeout = timeout; cmd.Transaction = transaction; cmd.CommandText = cmdText; /* DbType[] reqLenTypes = new DbType[] { DbType.AnsiString, DbType.AnsiStringFixedLength, DbType.String, DbType.StringFixedLength, DbType.Binary, DbType.Object, DbType.Xml }; for (int i = 0; i < paramList.Length; i++) { IDbDataParameter idb = cmd.CreateParameter(); cmd.Parameters.Add(HelperFunctions.BuildParameter(idb, paramList[i])); if (reqLenTypes.Contains(idb.DbType)) { if (idb is OdbcParameter) { (idb as OdbcParameter).Size = paramList[i].Size; } } } */ DataTable dt; reader = cmd.ExecuteReader(); string retStr = string.Empty; if (reader.FieldCount > 0) { dt = new DataTable(tableName); // retv.Tables.Add(dt = new DataTable(tableName)); // retv.Tables.Add(reader.GetSchemaTable()); DataTable schemaTable = reader.GetSchemaTable(); Helpers.DataTableExtensions.WriteToCsvFile(schemaTable, string.Format("{0}{1}.{2}",cBaseSqlDir, tableName + "_schema", cFileExt)); CsvFileWriter csvFileWriter = new CsvFileWriter(string.Format("{0}{1}.{2}", cBaseSqlDir, tableName + "_data", cFileExt)); bool columnsBuilt = false; while (reader.Read()) { if (columnsBuilt == false) { HelperFunctions.BuildColumnData(dt, reader); columnsBuilt = true; } // Old Function but Memory Exhausted // HelperFunctions.AddDataRow(dt, reader); // New Function write every row CsvRow row = new CsvRow(); HelperFunctions.AddDataRowCSVWriter(row, reader); csvFileWriter.WriteRow(row); } retStr += string.Format("Count:{0}=Columns:{1},Rows:{2}", tableName, reader.FieldCount, csvFileWriter.Length()); // Old Function // Helpers.DataTableExtensions.WriteToCsvFile(dt, string.Format("{0}{1}.{2}", cBaseSqlDir, tableName + "_data", cFileExt)); // MessageBox.Show(retStr); // New Function csvFileWriter.Close(); Console.WriteLine(retStr); } transaction.Commit(); /* for (int i = 0; i < paramList.Length; i++) { IDbDataParameter p = (IDbDataParameter)cmd.Parameters[i]; if (p.Direction != ParameterDirection.Input) { paramList[i].OutValue = p.Value; } } */ } catch (Exception e) { transaction.Rollback(); HelperFunctions.LogException(e, false); throw e; } finally { if (reader != null) { if (!reader.IsClosed) reader.Close(); reader.Dispose(); } if (cmd != null) { cmd.Dispose(); } if (bConnOpenedHere) { conn.Close(); } } // return retv; }
public void ToCsv() { const String kHeader = "DeltaVolAdj"; String fileName = String.Format("{0}_{1}.csv", kHeader, DateTime.Now.ToString("yyyy_MM_dd HHmmssfff")); CsvFileWriter writer = new CsvFileWriter(fileName); WriteHeader(writer); string prevKtbValue = "1"; string prevdollarValue = "1"; foreach (KeyValuePair<DateTime, double> pair in _kospiFutureWeight) { CsvRow row = new CsvRow(); row.Add(pair.Key.ToString("yyyy-MM-dd")); row.Add(pair.Value.ToString()); if (_ktbFutureWeight.ContainsKey(pair.Key)) { row.Add(_ktbFutureWeight[pair.Key].ToString()); prevKtbValue = _ktbFutureWeight[pair.Key].ToString(); } else { row.Add(prevKtbValue); } if (_dollarFutreWeight != null) { if (_dollarFutreWeight.ContainsKey(pair.Key)) { row.Add(_dollarFutreWeight[pair.Key].ToString()); prevdollarValue = _dollarFutreWeight[pair.Key].ToString(); } else { row.Add(prevdollarValue); } } writer.WriteRow(row); } writer.Close(); }
void Done_FileOut() { const string kSubFolder = @"dones\"; string fileName = String.Format("{0}_dones.csv", _today.ToString("yyyy_MM_dd")); string path = String.Format("{0}{1}{2}", kFolder, kSubFolder, fileName); CsvFileWriter writer = new CsvFileWriter(path); WriteDoneFileOutHeader(writer); foreach (KtbSpotDonePosition done in this.Dones) { WriteDoneBody(done, writer); } writer.Flush(); writer.Close(); }
void ReportStatistic() { List<PropReport> reports = GetReports(); // header : key, cum_pnl, avgInvestment, pnl_rate CsvFileWriter writer = new CsvFileWriter(String.Format("C:\\report\\statistic_{0}.csv", this.Key)); WriteHeader(writer); WriteBody(writer, reports); writer.Flush(); writer.Close(); }
void RemainLong_FileOut() { const string kSubFolder = @"remains\"; string fileName = String.Format("{0}_remains.csv", _today.ToString("yyyy_MM_dd")); string remains_path = String.Format("{0}{1}{2}", kFolder, kSubFolder, fileName); CsvFileWriter writer = new CsvFileWriter(remains_path); WriteRemainLongFileOutHeader(writer); foreach (KtbSpotPosition longPos in this.RemainLongs) { WriteRemainLongBody(longPos, writer); } writer.Flush(); writer.Close(); }
public static void _ExecuteSelect(int timeout, IDbConnection conn, string cmdText, string tableName) { DateTime started = DateTime.Now; IDataReader reader = null; IDbCommand cmd = null; bool bConnOpenedHere = HelperFunctions.EnsureConnectionOpen(conn); IDbTransaction transaction = conn.BeginTransaction(); // DataSet retv = new DataSet(); try { cmd = conn.CreateCommand(); cmd.CommandTimeout = timeout; cmd.Transaction = transaction; cmd.CommandText = cmdText; /* * DbType[] reqLenTypes = new DbType[] { DbType.AnsiString, DbType.AnsiStringFixedLength, DbType.String, DbType.StringFixedLength, DbType.Binary, DbType.Object, DbType.Xml }; * for (int i = 0; i < paramList.Length; i++) * { * IDbDataParameter idb = cmd.CreateParameter(); * cmd.Parameters.Add(HelperFunctions.BuildParameter(idb, paramList[i])); * if (reqLenTypes.Contains(idb.DbType)) * { * if (idb is OdbcParameter) * { * (idb as OdbcParameter).Size = paramList[i].Size; * } * } * } * */ DataTable dt; reader = cmd.ExecuteReader(); string retStr = string.Empty; if (reader.FieldCount > 0) { dt = new DataTable(tableName); // retv.Tables.Add(dt = new DataTable(tableName)); // retv.Tables.Add(reader.GetSchemaTable()); DataTable schemaTable = reader.GetSchemaTable(); Helpers.DataTableExtensions.WriteToCsvFile(schemaTable, string.Format("{0}{1}.{2}", cBaseSqlDir, tableName + "_schema", cFileExt)); CsvFileWriter csvFileWriter = new CsvFileWriter(string.Format("{0}{1}.{2}", cBaseSqlDir, tableName + "_data", cFileExt)); bool columnsBuilt = false; while (reader.Read()) { if (columnsBuilt == false) { HelperFunctions.BuildColumnData(dt, reader); columnsBuilt = true; } // Old Function but Memory Exhausted // HelperFunctions.AddDataRow(dt, reader); // New Function write every row CsvRow row = new CsvRow(); HelperFunctions.AddDataRowCSVWriter(row, reader); csvFileWriter.WriteRow(row); } retStr += string.Format("Count:{0}=Columns:{1},Rows:{2}", tableName, reader.FieldCount, csvFileWriter.Length()); // Old Function // Helpers.DataTableExtensions.WriteToCsvFile(dt, string.Format("{0}{1}.{2}", cBaseSqlDir, tableName + "_data", cFileExt)); // MessageBox.Show(retStr); // New Function csvFileWriter.Close(); Console.WriteLine(retStr); } transaction.Commit(); /* * for (int i = 0; i < paramList.Length; i++) * { * IDbDataParameter p = (IDbDataParameter)cmd.Parameters[i]; * if (p.Direction != ParameterDirection.Input) * { * paramList[i].OutValue = p.Value; * } * } */ } catch (Exception e) { transaction.Rollback(); HelperFunctions.LogException(e, false); throw e; } finally { if (reader != null) { if (!reader.IsClosed) { reader.Close(); } reader.Dispose(); } if (cmd != null) { cmd.Dispose(); } if (bConnOpenedHere) { conn.Close(); } } // return retv; }