public static string ToCSVObject(KData kData) { string result = string.Format("{0},{1},{2},{3},{4},{5},{6}" , kData.Date, kData.OpeningPrice, kData.HighestPrice, kData.LowestPrice , kData.ClosingPrice, kData.TradingVolume, kData.OpenInterest); return result; }
public static string ToCSVObject(KData kData) { string result = string.Format("{0},{1},{2},{3},{4},{5},{6}" , kData.Date, kData.OpeningPrice, kData.HighestPrice, kData.LowestPrice , kData.ClosingPrice, kData.TradingVolume, kData.OpenInterest); return(result); }
private void DoDataTransform(string code, string name) { string dataPath = txtPath.Text.Trim().ToUpper(); string dataCode = code.Trim(); string outFileName = name.Trim().ToUpper(); string[] tradingMethod = new string[] { "11", "1" }; //string path = Path.Combine(OUTPUT_PATH, outFileName + ".csv"); FileStream fs = File.Create(Path.Combine(OUTPUT_PATH, outFileName + ".csv")); fs.Close(); fs.Dispose(); string[] directories = Directory.GetDirectories(Path.Combine(DATA_PATH, dataPath)); foreach (string subPath in directories) { string[] dataFiles = Directory.GetFiles(subPath); foreach (string fileName in dataFiles) { //FileInfo fileInfo = new FileInfo(fileName); StreamReader stmRdr = new StreamReader(fileName); StreamWriter stmWtr = new StreamWriter(Path.Combine(OUTPUT_PATH, outFileName + ".csv"), true); KData kData = null; string data = stmRdr.ReadLine(); while (data != null) { string[] dataArray = data.Split(','); if (dataCode.Equals(dataArray[2]) && tradingMethod.Contains((dataArray[1]))) { KData currentKData = KDataConverter.ToKDataObject(dataArray); if (kData != null) { if (!currentKData.Date.Equals(kData.Date)) { //寫入檔案到.csv stmWtr.WriteLine(KDataConverter.ToCSVObject(kData)); } } kData = currentKData; } data = stmRdr.ReadLine(); } if (kData != null) { //寫入最後一筆 stmWtr.WriteLine(KDataConverter.ToCSVObject(kData)); } stmRdr.Close(); stmRdr.Dispose(); stmWtr.Close(); stmWtr.Dispose(); } } }
public static KData ToKDataObject(string[] dataArray) { KData kData = new KData(); kData.Date = dataArray[0]; kData.TradingMethod = dataArray[1]; kData.Commodity = dataArray[2]; kData.ContractMonth = dataArray[3]; kData.StrikePrice = dataArray[4]; kData.OpeningPrice = dataArray[5]; kData.HighestPrice = dataArray[6]; kData.LowestPrice = dataArray[7]; kData.ClosingPrice = dataArray[8]; kData.SettlementPrice = dataArray[9]; kData.TradingVolume = dataArray[10]; kData.OpenInterest = dataArray[11]; return kData; }
public static KData ToKDataObject(string[] dataArray) { KData kData = new KData(); kData.Date = dataArray[0]; kData.TradingMethod = dataArray[1]; kData.Commodity = dataArray[2]; kData.ContractMonth = dataArray[3]; kData.StrikePrice = dataArray[4]; kData.OpeningPrice = dataArray[5]; kData.HighestPrice = dataArray[6]; kData.LowestPrice = dataArray[7]; kData.ClosingPrice = dataArray[8]; kData.SettlementPrice = dataArray[9]; kData.TradingVolume = dataArray[10]; kData.OpenInterest = dataArray[11]; return(kData); }