Tag: csv

如果未输入,则使用Filehelpers忽略CSV中的最后一行

我使用FileHelpers构建了一个程序来解析CSV文件,除了我遇到问题外,它还可以创建奇迹。 一些文件 – 但不是全部 – 最后有一些额外的行,其中包含与实际字段无关的信息。 像这样 … 31,4104019, ,,1043,,,0,,Ventas Total Credito,1,1,277.98,0,0,0,0,21.5040000000,V, 31, ,11212302,,1043,,,0,,Ventas Total Credito,1,1,33.28,0,0,0,0,21.5040000000,V, 31, ,11212307,,1043,,,0,,Ventas Total Credito,1,1,277.98,0,0,0,0,21.5040000000,V, ;Importado=”01/11/2013″ //blank line here too 我知道FileHelpers有 [IgnoreLast(3)] public class whatever… 选项,但由于只有部分文件具有额外的3行,因此对所有文件使用此选项可能会导致某些文件忽略最后3条记录。 有没有办法告诉它什么时候忽略一条线? 或者我应该先单独阅读文件并自行删除这些行?

使用C#解析CSV文件,忽略千位分隔符

处理一个带有CSV文件并在每个“,”上拆分的程序。 我遇到的问题是有些数字中有千位分隔符。 在CSV文件中,数字正确呈现。 当作为文本文档查看时,它们如下所示: 狗,猫,100,100,鱼 在CSV文件中,有四个单元格,值为“Dog”,“Cat”,“100,000”,“Fish”。 当我将“,”拆分为一个字符串数组时,它包含5个元素,当我想要的是4.有人知道解决这个问题的方法吗? 谢谢

将非常大的文件从xml转换为csv

目前我正在使用以下代码片段将带有XML数据的.txt文件转换为.CSV格式。 我的问题是,目前这适用于大约100-200 mbs的文件,并且转换时间非常短(最多1-2分钟),但是我现在需要它来处理更大的文件(每个1-2 GB)文件)。 目前该程序冻结了计算机,使用此function转换大约需要30-40分钟。 不知道我将如何继续更改此function。 任何帮助将不胜感激! string all_lines = File.ReadAllText(p); all_lines = “” + all_lines + “”; XmlDocument doc_all = new XmlDocument(); doc_all.LoadXml(all_lines); StreamWriter write_all = new StreamWriter(FILENAME1); XmlNodeList rows_all = doc_all.GetElementsByTagName(“XML”); foreach (XmlNode rowtemp in rows_all) { List children_all = new List(); foreach (XmlNode childtemp in rowtemp.ChildNodes) { children_all.Add(Regex.Replace(childtemp.InnerText, “\\s+”, ” “)); } […]

是否有用于将CSV随机列顺序映射到已定义属性的代码模式?

我有一个CSV,从各种来源提供给我的应用程序。 CSV将始终具有相同的数字列,并且列的标题值将始终相同。 但是,列可能并不总是按相同的顺序排列。 第1天CSV可能如下所示 ID,FirstName,LastName,Email 1,Johh,Lennon,jlennon@applerecords.com 2,Paul,McCartney,macca@applerecords.com 第2天CSV可能如下所示 Email,FirstName,ID,LastName resident1@friarpark.com,George,3,Harrison ringo@allstarrband.com,Ringo,4,Starr 我想读取每个文件的标题行,并有一个简单的机制,用于将每个“列”数据与我在类中定义的相关属性相关联。 我知道我可以使用选择语句来解决它,但这似乎是一种处理它的“坏”方式。 有没有一种简单的方法可以在运行时使用字典或类将“列”映射到属性?

CSV解析器在一个例程/函数中?

我知道有几个代码库可以根据标准解析CSV文件,但是,由于各种原因,我需要一个简单的例程(不是整个库)将CSV解析为DataTable或数组。 这样的动物是存在还是灭绝? (最好是C#,但我也可以翻译vb.net)

ngcsv – 在safari和IE浏览器中遇到麻烦

我正在使用Angular js在我的页面中加载表格。 现在我想将数据导出到excel。 为此,我找到了使用ngcsv的解决方案。 它被提及,因为它可以轻松地将json数组转换为.csv文件。 我试过这个并在Firefox和Chrome浏览器中取得了成功。 但在safari和IE中它无法正常工作。 我尝试了在互联网上给出的以下小提琴示例 `http://jsfiddle.net/asafdav/dR6Nb/` 它也不适用于Safari和IE。 这有什么工作吗?

OdbcConnection文本驱动程序忽略scheme.ini设置

这是我的代码: OdbcConnection conn = new OdbcConnection(“Driver={Microsoft Text Driver (*.txt; *.csv)};DSN=scrapped.csv”); conn.Open(); OdbcCommand foo = new OdbcCommand(@”SELECT * FROM [scrapped.csv] WHERE KWOTA < 100.00", conn); IDataReader dr = foo.ExecuteReader(); StreamWriter asd = new StreamWriter("outfile.txt"); while (dr.Read()) { int cols = dr.GetSchemaTable().Rows.Count; for (int i = 0; i < cols; i++) { asd.Write(string.Format("{0};",dr[i].ToString())); } asd.WriteLine(); } asd.Flush(); […]

.csv文件可以用作Visual Studio 2008中的数据源吗?

我是C#和Visual Studio的新手。 我正在编写一个小程序,它将读取.csv文件,然后将读取的记录写入SQL Server数据库表。 我可以手动解析.csv文件,但我想知道是否有可能以某种方式“描述”.csv文件到Visual Studio,以便我可以将它用作数据源? 我应该提到.csv文件中的前两行包含标题信息,以下行是实际以逗号分隔的数据。 另外,我应该提一下,这个程序是一个没有用户界面的独立控制台程序。

将CSV文件复制到MS Access Table

使用C#我正在尝试创建一个从特定文件夹位置读取CSV文件的控制台应用程序,并将这些记录导入MS Access Table。 一旦成功导入文件中的记录,我将删除.csv文件。 到目前为止,这就是我所拥有的: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Configuration; using System.Data; using System.Data.OleDb; using System.Globalization; namespace QuantumTester { class Program { static void Main(string[] args) { CsvFileToDatatable(ConfigurationManager.AppSettings[“CSVFile”], true); } public static DataTable CsvFileToDatatable(string path, bool IsFirstRowHeader)//here Path is root of file and IsFirstRowHeader is header is there […]

将CSV导入SQL-Server – 性能

我创建了一个小项目,允许用户通过Entity-Framework将CSV文件导入SQL。 主要程序如下: using (TextFieldParser tx = new TextFieldParser(file, Encoding.UTF8)) { tx.TextFieldType = FieldType.Delimited; tx.SetDelimiters(“;”); tx.ReadLine(); //The First Line are the headers, no need while (!tx.EndOfData) { decimal decTmp; int intTmp; string[] fields = tx.ReadFields(); //Convert every field to the appropriate type, tryparse if nullable ReportInfo(“Verarbeite Nummer: ” + fields[(int)ConnectionEvaluationFileField.PhoneNumber].Trim()); Verbindunganalyse con = new Verbindunganalyse(); con.Auswertungszeitraum […]