コード例 #1
0
 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;
 }
コード例 #2
0
        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);
        }
コード例 #3
0
        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();
                }
            }
        }
コード例 #4
0
 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;
 }
コード例 #5
0
        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);
        }