Tag: csv

将CSV转换为XLS

我正在一个分块的Web应用程序中工作,我从我的工作伙伴那里得到一个CSV对象,我必须将其转换为XLS才能传递给他们构建的Excel处理器。 此CSV对象由字符“;”分隔。 我想知道的是如何以编程方式将CSV对象转换为XLS。

有没有快速的方法将实体转换为.csv文件?

目前,我有: string outputRow = string.Empty; foreach (var entityObject in entityObjects) { outputRow = entityObject.field1 + “,” + entityObject.Field2 etc…. } 我还是entity framework的新手,有更快的方法吗?

CSV字符串处理

创建CSV字符串的典型方法(伪代码): 创建一个CSV容器对象(如C#中的StringBuilder)。 循环遍历要添加的字符串,在每个字符串后面添加逗号。 循环之后,删除最后一个多余的逗号。 代码示例: public string ReturnAsCSV(ContactList contactList) { StringBuilder sb = new StringBuilder(); foreach (Contact c in contactList) { sb.Append(c.Name + “,”); } sb.Remove(sb.Length – 1, 1); //sb.Replace(“,”, “”, sb.Length – 1, 1) return sb.ToString(); } 我喜欢通过检查容器是否为空来添加逗号的想法,但这是否意味着更多的处理,因为它需要在每次出现时检查字符串的长度? 我觉得应该有一个更简单/更清洁/更有效的方法来删除最后一个逗号。 有任何想法吗?

将CSV读取到对象列表

我有一个CSV文件,其中包含各种数据列表(日期时间,小数)。 CSV的示例行: Date,Open,High,Low,Close,Volume,Adj Close //I need to skip this first line as well 2012-11-01,77.60,78.12,77.37,78.05,186200,78.05 我有一个创建的对象列表,我想读取每一行。 对象的构造函数如下所示,每个CSV行的每个字段都在此处使用和分配。 public DailyValues(DateTime date, decimal open, decimal high, decimal low, decimal close, decimal volume, decimal adjClose) : this() { Date = date; Open = open; High = high; Low = low; Close = close; Volume = volume; AdjClose = adjClose; […]

导出CSV文件时在引号内处理逗号C#4。任何建议

大家好我正在读一个csv文件,当字段内有逗号时我遇到了问题 一切正常,直到我在逗号中得到一个逗号,所有字段都会围绕它。 string delimiter=”,”; using (var sr = new StreamReader(fileName)) { sr.ReadLine(); //skip headers while (!sr.EndOfStream) { var readline = sr.ReadLine(); if (readline == null) continue; var fields = readline.Split (delimiter.ToCharArray()); } }if I CANNOT split because of commas within quotation . How can I recode it? 我不能使用开源或第三方库。 有什么建议?

TextFieldParser等效于.NET?

是否有一个与VB6中的TextFieldParser类等效的现代.NET? 性能远低于简单的String.Split()

让FileHelpers 2.0处理带有多余逗号的CSV文件

我目前正在使用FileHelpers库(v2.0.0.0)来解析CSV文件。 CSV文件映射到具有少量公共属性的类,假设有N个 。 问题是,默认情况下,FileHelpers似乎无法正确处理用户指定具有多于N-1个逗号的CSV文件的情况。 其余的逗号只会附加到最后一个属性值。 我认为这必须可以通过FileHelpers的属性进行配置,但我没有看到任何会忽略记录中没有匹配属性的字段。 我查看了RecordCondition ,但使用像ExcludeIfEnds(“,”)这样的东西看起来会完全跳过这行,如果它以逗号结尾,但我只是希望它们被剥离。 有可能我唯一的办法是预处理文件并删除任何尾随的逗号, 这完全没问题 ,但我想知道FileHelpers是否也可以这样做,也许我只是在文档中没有看到它。

我怎样才能创建schema.ini文件? 我需要将.csv文件导出到datagridview

我想将CSV文件导出到datagridview。 我需要创建文件schema.ini 。 但我不知道,我怎么能创造它? 有我的代码: public DataTable exceldenAl(string excelFile) { try { string fileName = Path.GetFileName(excelFile); string pathOnly = Path.GetDirectoryName(excelFile); string cmd = “Select * From [” + fileName + “$]”; string cnstr = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” + pathOnly + “\\;Extended Properties=\”Text;HDR=Yes;FORMAT=Delimited\””; OleDbConnection ocn = new OleDbConnection(cnstr); ocn.Open(); OleDbCommand command = new OleDbCommand(cmd,ocn); OleDbDataAdapter adap = […]

如何将CSV文件批量插入SQLite C#

我见过类似的问题( 1,2 ),但没有一个讨论如何将CSV文件插入SQLite。 关于我唯一能想到的就是使用CSVDataAdapter并填充SQLiteDataSet ,然后使用SQLiteDataSet更新数据库中的表: 我发现的唯一的CSV文件DataAdapter实际上并不可用: CSVDataAdapter CSVda = new CSVDataAdapter(@”c:\MyFile.csv”); CSVda.HasHeaderRow = true; DataSet ds = new DataSet(); // <– Use an SQLiteDataSet instead CSVda.Fill(ds); 要写入CSV文件: CSVDataAdapter CSVda = new CSVDataAdapter(@”c:\MyFile.csv”); bool InclHeader = true; CSVda.Update(MyDataSet,”MyTable”,InclHeader); 我找到了上面的代码@ http://devintelligence.com/2005/02/dataadapter-for-csv-files/ CSVDataAdapter应该配备OpenNetCF的SDF ,但它似乎不再可用了。 有谁知道我可以在哪里获得CSVDataAdapter ? 也许有人知道更简单的事情:如何将CSV文件批量插入到SQLite中……非常感谢您的帮助!

解析大型csv文件时,FileHelpers会抛出OutOfMemoryException

我正在尝试使用FileHelpers( http://www.filehelpers.net/ )解析一个非常大的csv文件。 该文件为1GB压缩文件,解压缩约20GB。 string fileName = @”c:\myfile.csv.gz”; using (var fileStream = File.OpenRead(fileName)) { using (GZipStream gzipStream = new GZipStream(fileStream, CompressionMode.Decompress, false)) { using (TextReader textReader = new StreamReader(gzipStream)) { var engine = new FileHelperEngine(); CSVItem[] items = engine.ReadStream(textReader); } } } FileHelpers然后抛出OutOfMemoryException。 测试失败:抛出了类型’System.OutOfMemoryException’的exception。 System.OutOfMemoryException:抛出了类型’System.OutOfMemoryException’的exception。 位于System.Text.StringBuilder.Append(Char值)的System.Text.StringBuilder.ExpandByABlock(Int32 minBlockCharCount)位于FileHelpers.StringHelper.ExtractQuotedString的System.Text.StringBuilder.Append(Char值)(LineInfo line,Char在FileHelpers.FileHelperEngine的FileHelpers.RecordInfo.StringToRecord(LineInfo行)的FileHelpers.FieldBase.ExtractValue(LineInfo行)的FileHelpers.DelimitedField.ExtractFieldString(LineInfo行)处的quoteChar,Boolean allowMultiline) 1.ReadStream(TextReader reader, Int32 maxRecords, DataTable dt) […]