Tag: csv

使用C#在CSV文件中写入

我正在寻找一种在CSV文件的不同单元格中编写字符串的方法。 我正在使用这个程序, private void button1_Click(object sender, EventArgs e) { string filePath = @”E:\test.csv”; string a = “a”; string b = “c”; string c = “d”; string d = “d”; File.WriteAllText(filePath, a); // how can add the other strings in the next cells ? } 我需要的是在第一个单元格中写入“a”,在第二个单元格中写入“b”,c ..

如何使用CsvHelper读取特定行的标题?

我正在尝试读取标题位于第3行的CSV文件: some crap line some empty line COL1,COL2,COl3,… val1,val2,val3 val1,val2,val3 如何告诉CSVHelper标题不在第一行? 我尝试使用Read()跳过2行,但是对ReadHeader()的后续调用会抛出一个已经读取了标头的exception。 using (var csv = new CsvReader(new StreamReader(stream), csvConfiguration)) { csv.Read(); csv.Read(); csv.ReadHeader(); ….. 如果我将csvConfiguration.HasHeaderRecord设置为false ReadHeader()再次失败。

使用Microsoft Jet OLEDB对CSV进行列限制

我正在从包含大约350列的CSV导入数据。 此CSV导入已修复,我完全无法控制它。 如果我尝试在Excel 2003中打开CSV,则由于列限制为255(IV),它仅部分加载。 当我使用OleDb和Microsoft.Jet.OLEDB.4.0将CSV加载到DataSet时,它也只显示255列。 更糟糕的是,当尝试访问这些255列中的某些列的数据时,它显示不正确的数据并且不断地分割这些值。 如果我在Excel中打开CSV,让它截断数据并重新保存,我的导入工作正常。 我的问题是,有没有其他人遇到Jet.OLEDB提供商的这种限制。 如果是,是否有问题的解决方法? 如果不是,是否有可用的替代解决方案可以加载如此大的CSV? 注意:这不是一次性任务,我需要为最终用户提供一个浏览/上传按钮,以便在需要时执行此导入。

ASP.NET HttpContext Cache在插入后立即删除

我有一个ASP.NET 4 Web服务。 它在ImportModule控制器中有一个ImportModule操作。 它是如何工作的: 用户将模块上载为CSV文件。 正在使用HttpPostedFileBase.InputStream和自定义CSV读取类读取此文件。 根据一些规则和validation,此文件正在转换为C#对象。 如果文件有效,则转换为C#对象,存储在具有唯一GUID名称的Cache中,并将用户重定向到CompleteImportModule操作。 用户检查数据是否正确并确认上传。 长话短说,有一个代码告诉你更多: ImportModule动作。 public ActionResult ImportModule(HttpPostedFileBase file) { if (!ModelState.IsValid) { return RedirectToAction(“Index”); } ModuleQuestion[] questions; ModuleInfo moduleInfo; string uploadId = Guid.NewGuid().ToString(); // It is my custom CSV-reader and it works. Values are assigned FormDataCsvReader csvReader = new FormDataCsvReader(file.InputStream); if (!csvReader.Process(out questions, out moduleInfo)) { // […]

当CSV包含字符和数字数据时,将CSV转换为XML

从这个线程,我得到了关于如何解析CSV以创建XML的基本信息。 不幸的是,文本字段(全部用引号括起来)有时包含逗号,所以line.split(’,’)给了我太多列。 我无法弄清楚如何解析CSV所以line.split(’,’)区分文本字段中的逗号和逗号分隔字段。 有关如何做到这一点的任何想法? 谢谢!

将查询中的数据保存为csv文件

我有一个应用程序打开一个csv文件,并将所有内容显示为格式化的datagridview。 从那里我有一个按钮,打开另一个包含一系列复选框的表单。 复选框具有我们之前打开的csv文件的所有属性,用户应该能够根据所需的女巫属性查询文件,然后保存文件。 例如,如果他们只想要一个显示带翅膀的动物的所有条目的文件,他们只选择翅膀复选框。 从那里,您选择保存按钮,它应该保存文件。 private void button1_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); const string filter = “CSV file (*.csv)|*.csv| All Files (*.*)|*.*”; const string header = “Animal_Name,Hair,Feathers,Eggs,Milk,Airborne,Aquatic,Predator,Toothed,Backbone,Breathes,Venomous,Fins,Legs,Tail,Domestic,Catsize,Type”; StreamWriter writer = null; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { filter = saveFileDialog1.FileName; writer = new StreamWriter(filter); writer.WriteLine(header); foreach (Animal animal in animalQuery) { […]

从CSV数据中删除尾随逗号

这是用于在另一个数字后添加逗号的代码,但我想删除最后一个逗号: str_MSISDN.Append(“‘” + _MSISDN[x].TrimStart() + “‘” + “,”);

如何比较2个.csv文件并从两个csv文件创建一个包含新的.csv文件?

我想比较CSV文件的两个特定部分。 JobStart.csv test1;test2;test3;test4;Val2Compare2;test5;test6;test7…. Datafile.csv line 1 Val2Compare1; data1;data2;data3;data4;data5;data6 line 2 Val2Compare2; data1;data2;data3;data4;data5;data6 line 3 Val2Compare3; data1;data2;data3;data4;data5;data6 我想做的是: 比较值:JobStart.csv Val2Compare2 to Datafile.csv Val2Compare1 Val2Compare2 Val2Compare3 … 当我得到哪一行是真的(在这种情况下是line2)。 然后我想像这样结合JobStat.csv和Datafile.csv: NEW JOBSTART.CSV test1;test2;test3;test4;Val2Compare2;test5;test6;test7; data1;data2;data3;data4;data5 我试着看一下: 在C#中比较两个csv文件 比较两个csv文件的特定列 比较2个csv文件并替换更新的值 http://social.msdn.microsoft.com/Forums/vstudio/en-US/3f334045-2ac7-44b9-afaa-bd8d83c8ef27/read-csv-file-and-get-specific-column-from-each-line?论坛= csharpgeneral 但是得不到多少帮助。

阅读带有双引号的csv与lumenwork csv阅读器

我正在使用Lumenworks csv阅读器阅读csv文件。 以下是一个示例记录 “001-0000265-003″|”Some detail”|”detal1″|”detail2″|”detal3″|”detail4″|”detail5″|”detail6” 我用下面的构造函数创建了一个类来读取这个文件 using (var input = new CsvReader(stream, true, ‘|’)) { //logic to create an xml here } 当细节内没有双引号时,这很好用。 但是当scinarios像这样 “001-0000265-003″|”Some ” detail”|”detal1″|”detail2″|”detal3″|”detail4″|”detail5″|”detail6″ 读者抛出exception An unhandled exception of type ‘LumenWorks.Framework.IO.Csv.MalformedCsvException’ occurred in LumenWorks.Framework.IO.dll 那么我使用了带有7个参数的CsvReader构造函数, CsvReader(stream, true, ‘|’, ‘”‘, ‘”‘, ‘#’, LumenWorks.Framework.IO.Csv.ValueTrimmingOptions.All)) 但我仍然得到同样的错误。 请提供任何建议。 我正在阅读一些复杂的文件如下, “001-0000265-003″|”ABC 33″X23″ CDE 32’X33″ AAA, BB’C”|”detal1″|”detail2″|”detal3″|”detail4″|”detail5″|”detail6”

CSV提供的第一列数据源中的奇数字符

我有一个CSV文件,我添加到Visual Studiounit testing项目。 它有七列,看起来像这样: assessmentitemid,reviewer1,reviewer2,reviewer3,reviewer4,reviewer5,reviewer6 我的测试方法如下所示: [TestMethod] [DeploymentItem(“IntraclassCorrelationValues.csv”)] [DataSource(“Microsoft.VisualStudio.TestTools.DataSource.CSV”, “|DataDirectory|\\IntraclassCorrelationValues.csv”, “IntraclassCorrelationValues#csv”, Microsoft.VisualStudio.TestTools.UnitTesting.DataAccessMethod.Sequential)] public void TestMethod1() { object val = TestContext.DataRow[“assessmentitemid”]; } 访问列assessmentitemid时,我收到一个错误。 我检查了表格,除了assessmentitemid以外,所有列都已正确映射。 它的实际列名是这样的: assessmentitemid 我是否还需要对DataSource属性执行其他操作才能正确解析CSV文件?