当前位置: 首页>>代码示例>>C#>>正文


C# CsvReader.CopyCurrentRecordTo方法代码示例

本文整理汇总了C#中CsvReader.CopyCurrentRecordTo方法的典型用法代码示例。如果您正苦于以下问题:C# CsvReader.CopyCurrentRecordTo方法的具体用法?C# CsvReader.CopyCurrentRecordTo怎么用?C# CsvReader.CopyCurrentRecordTo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CsvReader的用法示例。


在下文中一共展示了CsvReader.CopyCurrentRecordTo方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: LastFieldEmptyFollowedByMissingFieldsOnNextRecord

        public void LastFieldEmptyFollowedByMissingFieldsOnNextRecord()
        {
            const string Data = "a,b,c,d,e"
                + "\na,b,c,d,"
                + "\na,b,";

            using (var csv = new CsvReader(new StringReader(Data), false))
            {
                csv.MissingFieldAction = MissingFieldAction.ReplaceByNull;

                var record = new string[5];

                Assert.IsTrue(csv.ReadNextRecord());
                csv.CopyCurrentRecordTo(record);
                Assert.AreEqual(new string[] { "a", "b", "c", "d", "e" }, record);

                Assert.IsTrue(csv.ReadNextRecord());
                csv.CopyCurrentRecordTo(record);
                Assert.AreEqual(new string[] { "a", "b", "c", "d", "" }, record);

                Assert.IsTrue(csv.ReadNextRecord());
                csv.CopyCurrentRecordTo(record);
                Assert.AreEqual(new string[] { "a", "b", "", null, null }, record);

                Assert.IsFalse(csv.ReadNextRecord());
            }
        }
开发者ID:jboolean,项目名称:RIT-Bus,代码行数:27,代码来源:CsvReaderMalformedTest.cs

示例2: ArgumentTestCopyCurrentRecordTo3

 public void ArgumentTestCopyCurrentRecordTo3()
 {
     using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
     {
         csv.CopyCurrentRecordTo(new string[1], 1);
     }
 }
开发者ID:jboolean,项目名称:RIT-Bus,代码行数:7,代码来源:CsvReaderTest.cs

示例3: ArgumentTestCopyCurrentRecordTo4

 public void ArgumentTestCopyCurrentRecordTo4()
 {
     using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
     {
         csv.ReadNextRecord();
         csv.CopyCurrentRecordTo(new string[CsvReaderSampleData.SampleData1RecordCount - 1], 0);
     }
 }
开发者ID:jboolean,项目名称:RIT-Bus,代码行数:8,代码来源:CsvReaderTest.cs

示例4: CopyCurrentRecordToTest1

 public void CopyCurrentRecordToTest1()
 {
     using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
     {
         csv.CopyCurrentRecordTo(new string[CsvReaderSampleData.SampleData1RecordCount]);
     }
 }
开发者ID:jboolean,项目名称:RIT-Bus,代码行数:7,代码来源:CsvReaderTest.cs

示例5: WriteOutputFiles

        private void WriteOutputFiles(IEnumerable<QuantFile> quantFiles)
        {
            OnUpdateLog("Writing output files...");
            foreach (QuantFile file in quantFiles)
            {
                string filePath = file.FilePath;
                string fileName = Path.GetFileNameWithoutExtension(filePath);

                string outputFilePath = Path.Combine(OutputDirectory, fileName+"_quant.csv");
                OnUpdateLog("Writing "+outputFilePath+"...");
                using (CsvReader reader = new CsvReader(new StreamReader(filePath), true))
                {
                    using (StreamWriter writer = new StreamWriter(outputFilePath))
                    {
                        StringBuilder sb = new StringBuilder();
                        string[] headerColumns = reader.GetFieldHeaders();
                        int headerCount = headerColumns.Length;
                        string header = string.Join(",", headerColumns);
                        sb.Append(header);

                        if (CalculatePurity)
                        {
                            sb.Append(",Precursor Purity (%)");
                        }

                        // Raw Intensities
                        foreach (TagInformation tag in UsedTags.Values)
                        {
                            sb.AppendFormat(",{0} ({1} NL)", tag.SampleName, tag.TagName);
                        }

                        // Denormalized Intensities
                        foreach (TagInformation tag in UsedTags.Values)
                        {
                            sb.AppendFormat(",{0} ({1} dNL)", tag.SampleName, tag.TagName);
                        }

                        // Purity Corrected Intensities
                        foreach (TagInformation tag in UsedTags.Values)
                        {
                            sb.AppendFormat(",{0} ({1} PC)", tag.SampleName, tag.TagName);
                        }

                        // Purity Corrected Normalized Intensities
                        foreach (TagInformation tag in UsedTags.Values)
                        {
                            sb.AppendFormat(",{0} ({1} PCN)", tag.SampleName, tag.TagName);
                        }

                        // Number of Channels Detected
                        sb.Append(",Channels Detected");

                        writer.WriteLine(sb.ToString());

                        while (reader.ReadNextRecord())
                        {
                            sb.Clear();

                            string[] inputData = new string[headerCount];
                            reader.CopyCurrentRecordTo(inputData);
                            for(int i=0; i <inputData.Length; i++)
                            {
                                string data = inputData[i];
                                if (data.Contains('"'))
                                    data = data.Replace("\"", "\"\"");

                                if (data.Contains(','))
                                {
                                    sb.Append('"');
                                    sb.Append(data);
                                    sb.Append('"');
                                }
                                else
                                {
                                    sb.Append(data);
                                }

                                sb.Append(',');
                            }
                            sb.Remove(sb.Length - 1, 1);
                            //sb.Append(string.Join(",", inputData));

                            //int scanNumber = int.Parse(reader["Spectrum number"]);
                            string fileId = reader["Filename/id"];

                            PSM psm = file[fileId];

                            List<QuantPeak> peaks =
                                (from TagInformation tag in UsedTags.Values select psm[tag]).ToList();

                            // Print out precrusor purity if requested
                            if (CalculatePurity)
                            {
                                sb.Append(',');
                                sb.Append(psm.Purity*100);
                            }

                            // Raw Intensities
                            foreach (QuantPeak peak in peaks)
                            {
//.........这里部分代码省略.........
开发者ID:kmmbvnr,项目名称:Compass,代码行数:101,代码来源:TagQuant.cs

示例6: TrimFieldValuesTest

        public void TrimFieldValuesTest(string data, ValueTrimmingOptions trimmingOptions, params string[] expected)
        {
            using (var csv = new CsvReader(new StringReader(data), false, CsvReader.DefaultDelimiter, CsvReader.DefaultQuote, CsvReader.DefaultEscape, CsvReader.DefaultComment, trimmingOptions))
            {
                while (csv.ReadNextRecord())
                {
                    var actual = new string[csv.FieldCount];
                    csv.CopyCurrentRecordTo(actual);

                    Assert.AreEqual(expected, actual);
                }
            }
        }
开发者ID:jboolean,项目名称:RIT-Bus,代码行数:13,代码来源:CsvReaderTest.cs

示例7: CheckSampleData1

		public static void CheckSampleData1(long recordIndex, CsvReader csv)
		{
			string[] fields = new string[6];
			csv.CopyCurrentRecordTo(fields);

			CheckSampleData1(csv.HasHeaders, recordIndex, fields, 0);
		}
开发者ID:jhgbrt,项目名称:netcsv,代码行数:7,代码来源:CsvReaderSampleData.cs

示例8: CompileResults

        private List<Protein> CompileResults(List<LocalizedHit> hits, string csvFile, string outputDirectory, bool breakProteinsApart = false)
        {
            Dictionary<string, LocalizedHit> hitsdict = new Dictionary<string, LocalizedHit>();

            // Group all the localized Hits into proteins
            Dictionary<string, Protein> proteins = new Dictionary<string, Protein>();

            foreach (LocalizedHit hit in hits)
            {
                hitsdict.Add(hit.PSM.Filename, hit);

                string defline = hit.PSM.Defline;

                if (breakProteinsApart)
                {
                    string[] groups = hit.PSM.ProteinGroup.Split('|');
                    foreach (string group in groups)
                    {
                        Protein prot;
                        if (!proteins.TryGetValue(group, out prot))
                        {
                            prot = new Protein(group, defline);
                            proteins.Add(group, prot);
                        }
                        prot.AddHit(hit);
                    }
                }
                else
                {
                    Protein prot;
                    if (!proteins.TryGetValue(hit.PSM.ProteinGroup, out prot))
                    {
                        prot = new Protein(hit.PSM.ProteinGroup, defline);
                        proteins.Add(hit.PSM.ProteinGroup, prot);
                    }
                    prot.AddHit(hit);
                }
            }
            using (StreamWriter writer = new StreamWriter(Path.Combine(outputDirectory, Path.GetFileNameWithoutExtension(csvFile) + "_all.csv")),
                 localizedWriter = new StreamWriter(Path.Combine(outputDirectory, Path.GetFileNameWithoutExtension(csvFile) + "_localized.csv")))
            {
                using (CsvReader reader = new CsvReader(new StreamReader(csvFile), true))
                {
                    LocalizedHit hit = null;
                    headerInfo = reader.GetFieldHeaders();
                    bool tqFound = false;
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        if (headerInfo[i].EndsWith("NL)"))
                        {
                            if (!tqFound)
                            {
                                FirstQuantColumn = i;
                                tqFound = true;
                            }
                        }
                        if(headerInfo[i] == "Channels Detected")
                            LastQuantColumn = i-1;
                    }
                    string header = string.Join(",", headerInfo) + ",# Isoforms,# of Considered Fragments,Localized?,Delta Score,Best Isoform,Spectral Matches,% TIC,Second Best Isoform,Second Spectral Matches,Second % TIC";
                    writer.WriteLine(header);
                    localizedWriter.WriteLine(header);
                    while (reader.ReadNextRecord())
                    {
                        string mods = reader["Mods"];
                        if (string.IsNullOrEmpty(mods))
                            continue;

                        List<Modification> variableMods = OmssaModification.ParseModificationLine(mods).Select(item => item.Item1).OfType<Modification>().ToList();

                        // Only keep things with quantified Modifications
                        if (!variableMods.Any(mod => QuantifiedModifications.Contains(mod)))
                            continue;

                        string filename = reader["Filename/id"];
                        if(!hitsdict.TryGetValue(filename, out hit))
                            continue;

                        string[] data = new string[reader.FieldCount];
                        reader.CopyCurrentRecordTo(data);

                        hit.omssapsm = data;

                        StringBuilder sb = new StringBuilder();

                        foreach (string datum in data)
                        {
                            if (datum.Contains(','))
                            {
                                sb.Append("\"");
                                sb.Append(datum);
                                sb.Append("\"");
                            }
                            else
                                sb.Append(datum);
                            sb.Append(',');
                        }
                        sb.Append(hit.PSM.Isoforms);
                        sb.Append(',');
                        sb.Append(hit.LocalizedIsoform.Fragments.Count);
//.........这里部分代码省略.........
开发者ID:B-Rich,项目名称:Compass,代码行数:101,代码来源:Lotor.cs

示例9: CopyCurrentRecordTo_NotEnoughSlotsAfterIndex_ThrowsArgumentOutOfRangeException

        public void CopyCurrentRecordTo_NotEnoughSlotsAfterIndex_ThrowsArgumentOutOfRangeException()
        {
            using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
			{
				csv.ReadNextRecord();
				csv.CopyCurrentRecordTo(new string[CsvReaderSampleData.SampleData1RecordCount], 1);
			}
		}
开发者ID:jhgbrt,项目名称:netcsv,代码行数:8,代码来源:CsvReaderTest.cs

示例10: LastFieldEmptyFollowedByMissingFieldsOnNextRecord

		public void LastFieldEmptyFollowedByMissingFieldsOnNextRecord()
		{
			const string Data = "a,b,c,d,e"
				+ "\na,b,c,d,"
				+ "\na,b,";

			using (var csv = new CsvReader(new StringReader(Data), CsvReader.DefaultBufferSize, new CsvLayout(hasHeaders:false), 
                new  CsvBehaviour(missingFieldAction:MissingFieldAction.ReplaceByNull)))
			{
				var record = new string[5];

				Assert.IsTrue(csv.ReadNextRecord());
				csv.CopyCurrentRecordTo(record);
				CollectionAssert.AreEqual(new string[] { "a", "b", "c", "d", "e" }, record);

				Assert.IsTrue(csv.ReadNextRecord());
				csv.CopyCurrentRecordTo(record);
				CollectionAssert.AreEqual(new string[] { "a", "b", "c", "d", "" }, record);

				Assert.IsTrue(csv.ReadNextRecord());
				csv.CopyCurrentRecordTo(record);
				CollectionAssert.AreEqual(new string[] { "a", "b", "", null, null }, record);

				Assert.IsFalse(csv.ReadNextRecord());
			}
		}
开发者ID:jdh28,项目名称:Net.Code,代码行数:26,代码来源:CsvReaderMalformedTest.cs

示例11: CopyCurrentRecordTo_ArrayTooSmall_ThrowsArgumentException

        public void CopyCurrentRecordTo_ArrayTooSmall_ThrowsArgumentException()
        {
            using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
			{
				csv.ReadNextRecord();
				csv.CopyCurrentRecordTo(new string[CsvReaderSampleData.SampleData1RecordCount - 1], 0);
			}
		}
开发者ID:jhgbrt,项目名称:netcsv,代码行数:8,代码来源:CsvReaderTest.cs

示例12: CopyCurrentRecordTo_ArrayBeyondBounds_ThrowsArgumentOutOfRangeException

        public void CopyCurrentRecordTo_ArrayBeyondBounds_ThrowsArgumentOutOfRangeException()
        {
            using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
			{
				csv.CopyCurrentRecordTo(new string[1], 1);
			}
		}
开发者ID:jhgbrt,项目名称:netcsv,代码行数:7,代码来源:CsvReaderTest.cs

示例13: CopyCurrentRecordTo_Null_ThrowsArgumentNullException

		public void CopyCurrentRecordTo_Null_ThrowsArgumentNullException()
		{
			using (CsvReader csv = new CsvReader(new StringReader(CsvReaderSampleData.SampleData1), false))
			{
				csv.CopyCurrentRecordTo(null);
			}
		}
开发者ID:jhgbrt,项目名称:netcsv,代码行数:7,代码来源:CsvReaderTest.cs

示例14: Phosphinate


//.........这里部分代码省略.........
                        //quant = header_line.Contains("TQ_");

                        non_phospho_output.WriteLine(header_line);
                        localized_phospho_output.WriteLine(header_line +
                                                           ", Number of Theoretical Fragments, Identified Phosphoisoform, Identified Phosphoisoform Number of Matching Fragments, Best Phosphoisoforms, Best Phosphoisoform, Best Phosphoisoform Number of Matching Fragments, Second-Best Phosphoisoform, Second-Best Phosphoisoform Number of Matching Fragments, Identified Phosphoisoform Correct?, Preliminary Localization of All Phosphorylations?, Peptide Phosphorylation Sites, Probability of Spurious Fragment Match, Number of Theoretical Site-Determining Fragment Ions, Number of Matching Site-Determining Fragment Ions, Matching Site-Determining Fragment Ions, Probability Values, Ambiguity Scores, Phosphorylation Sites Localized?, All Phosphorylation Sites Localized?");
                        unlocalized_phospho_output.WriteLine(header_line +
                                                             ", Number of Theoretical Fragments, Identified Phosphoisoform, Identified Phosphoisoform Number of Matching Fragments, Best Phosphoisoforms, Best Phosphoisoform, Best Phosphoisoform Number of Matching Fragments, Second-Best Phosphoisoform, Second-Best Phosphoisoform Number of Matching Fragments, Identified Phosphoisoform Correct?, Preliminary Localization of All Phosphorylations?, Peptide Phosphorylation Sites, Probability of Spurious Fragment Match, Number of Theoretical Site-Determining Fragment Ions, Number of Matching Site-Determining Fragment Ions, Matching Site-Determining Fragment Ions, Probability Values, Ambiguity Scores, Phosphorylation Sites Localized?, All Phosphorylation Sites Localized?");

                        while (reader.ReadNextRecord())
                        {
                            //string line = csv.ReadLine();

                            //string[] fields = Regex.Split(line,
                            //    @",(?!(?<=(?:^|,)\s*\x22(?:[^\x22]|\x22\x22|\\\x22)*,)(?:[^\x22]|\x22\x22|\\\x22)*\x22\s*(?:,|$))");
                            //    // crazy regex to parse CSV with internal double quotes from http://regexlib.com/REDetails.aspx?regexp_id=621

                            string sequence = reader["Peptide"];

                            string dynamic_modifications = reader["Mods"];
                            if (!dynamic_modifications.Contains("phosphorylation"))
                            {
                                //non_phospho_output.WriteLine(line);
                            }
                            else
                            {
                                Peptide identified_phosphopeptide = new Peptide(sequence, fixedModifications,
                                    dynamic_modifications);

                                int start_residue = int.Parse(reader["Start"]);
                                int stop_residue = int.Parse(reader["Stop"]);
                                string protein_description = reader["Defline"].Trim('"');

                                StringBuilder sb = new StringBuilder();
                                reader.CopyCurrentRecordTo(lineData);
                                foreach (string datum in lineData)
                                {
                                    if (datum.Contains(','))
                                        sb.Append("\"" + datum + "\"");
                                    else
                                        sb.Append(datum);
                                    sb.Append(',');
                                }
                                sb.Remove(sb.Length - 1, 1);
                                string line = sb.ToString();
                                if (!identified_sites_by_protein.ContainsKey(protein_description))
                                {
                                    identified_sites_by_protein.Add(protein_description, new Dictionary<string, int>());
                                }
                                foreach (KeyValuePair<int, string> kvp in identified_phosphopeptide.DynamicModifications)
                                {
                                    if (kvp.Value.Contains("phosphorylation"))
                                    {
                                        string site = sequence[kvp.Key - 1] + (start_residue + kvp.Key).ToString();

                                        if (!identified_sites_by_protein[protein_description].ContainsKey(site))
                                        {
                                            identified_sites_by_protein[protein_description].Add(site, 0);
                                        }
                                        identified_sites_by_protein[protein_description][site]++;
                                    }
                                }

                                int scan_number = int.Parse(reader["Spectrum number"]);
                                string filenameID = reader["Filename/id"];
                                FragmentType[] fragment_types = null;
                                if (filenameID.Contains(".ETD.") || filenameID.Contains(".ECD."))
开发者ID:dbaileychess,项目名称:Compass,代码行数:67,代码来源:Phosphinator.cs

示例15: WriteFiles


//.........这里部分代码省略.........

                        decoyWriter.WriteLine(headerLine);
                        targetWriter.WriteLine(headerLine);
                        scansWriter.WriteLine(headerLine);
                        targetUniqueWriter.WriteLine(headerLine);
                        decoyUniqueWriter.WriteLine(headerLine);
                        if (firstHeader)
                        {
                            batchScansWriter.WriteLine(headerLine);
                            batchDecoyWriter.WriteLine(headerLine);
                            batchTargetWriter.WriteLine(headerLine);
                            if (isBatched)
                            {
                                batchDecoyUniqueWriter.WriteLine(headerLine);
                                batchTargetUniqueWriter.WriteLine(headerLine);
                            }
                            firstHeader = false;
                        }
                        while (reader.ReadNextRecord())
                        {
                            PSM psm;
                            int spectralNumber = int.Parse(reader["Spectrum number"]);
                            if (scansProcessed.Contains(spectralNumber))
                                continue;
                            string fileName = reader["Filename/id"];
                            string sequence = reader["Peptide"].ToUpper();

                            if (allPsms.TryGetValue(fileName + sequence, out psm))
                            {
                                bool isNegative = psm.Charge < 0;

                                scansProcessed.Add(spectralNumber);
                                sb.Clear();
                                reader.CopyCurrentRecordTo(data);
                                for (int i = 0; i < 15; i++)
                                {
                                    string datum = data[i];

                                    if (_includeFixedMods && i == modsColumnIndex)
                                    {
                                        datum = OmssaModification.WriteModificationString(psm.Peptide);
                                    }

                                    // Replace the charge if negative
                                    if (isNegative && i == chargeColumnIndex)
                                    {
                                        sb.Append(psm.Charge);
                                        sb.Append(',');
                                        continue;
                                    }

                                    if (datum.Contains('"'))
                                        datum = datum.Replace("\"", "\"\"");

                                    if (datum.Contains(','))
                                    {
                                        sb.Append('"');
                                        sb.Append(datum);
                                        sb.Append('"');
                                    }
                                    else
                                    {
                                        sb.Append(datum);
                                    }

                                    sb.Append(',');
开发者ID:dbaileychess,项目名称:Compass,代码行数:67,代码来源:FdrOptimizer.cs


注:本文中的CsvReader.CopyCurrentRecordTo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。